아이폰어플개발정보2010. 10. 5. 06:03
아이폰에서 오픈소스로 Google API 사용하는 방법 정리

고맙게도 아이폰에서 Google API를 사용하기 위한 라이브러리가 오픈 소스로 있습니다.

Google Data APIs Objective-C Client Library

위 라이브러리를 사용하면, 이렇게 많은 것을 할 수 있습니다.. 대단하죠?

위 라이브러리를 아이폰에 사용하는 샘플 코드도 있습니다.
Example iPhone project showing how to use GData API for Google Docs from Objective-C.

그런데 샘플만 본다고 쉽게 되는게 아니라서..
간단히 방법을 소개 해 보겠습니다.


1. 최근 소스를 다운 받는다.

가장 최근 소스를 원하시는 분들은...
svn export http://gdata-objectivec-client.googlecode.com/svn/trunk/Source gdataSource

터미널에서 이렇게 해서 받습니다.

2. 내 프로젝트 소스 파일을 추가 한다.

xcode에서 새로운 프로젝트를 생성합니다. 
그리고 라이브러리 소스 코드를 내 프로젝트 하위 경로에 복사해 주시고, 프로젝트에 드래그 해서 추가 합니다.

그리고 사용하지 않는 파일을 제거 합니다.


위에 표시된 파일들을 제거해 줍니다. 그리고 Clients에서는 자신이 프로젝트에 사용할 파일을 남기고 제거 합니다.


2. 프로젝트 설정하기.

프로젝트에서 Get Info를 해서 프로젝트 설정을 합니다.

먼저 Configuration에서 All Configurations를 선택합니다.
  • Header Search Paths: /usr/include/libxml2
  • Other Linker Flags: -lxml2
를 각각 입력 합니다.
그리고 Configuration에서 Debug를 선택 합니다.
  • Other C Flags: -DDEBUG=1
를 입력합니다.



3. 빌드 후 사용하기.

빌드 후에 사용 하시면 됩니다.
별거 아닌데.. 전 고생을 해서 -_-;; 이렇게 글로 남깁니다.

그런데 최신 트렁크 빌드에서는 오류가 나지 않지만, 
Example iPhone project showing how to use GData API for Google Docs from Objective-C.
위 샘플에서는 아래와 같은 오류가 발생 합니다.


이건 애플사에서 iPhone 3.0 SDK에서 NSTask를 제거 해서 생긴 문제 입니다.
이 문제를 해결하는 방법은 GDataDefines.h 파일에서 아래를 추가 해 주면 됩니다. 

#define  GDATA_SKIP_LOG_XMLFORMAT 1

참고로 여기까지 해서 빌드한 샘플을 올립니다. 참고 하세요.
코딩은 전혀 없습니다 ^^;; 빌드 까지 입니다..



출처 : http://blog.naver.com/PostList.nhn?blogId=hana_815¤tPage=56
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 21. 09:29
iPhone 사운드 관련 API
System Sound Services
  경고음이나 인터페이스의 반응음(비프음)등의 짧은 사운드의 재생에 특화된 API이다. 
  볼륨을 바꾸거나 하는 재생 컨트롤은 할수 없다.  바이브레이션도 이 API를 사용한다.(아이폰만 가능)

  관련 프레임워크 : AudioToolbox.framework
  헤더 : AudioToolbox/AudioServices.h

Audio Queue Services
  iPhone OS의 사운드 API의 핵심이다. 사운드파일을 단순히 재생하는 것만이 아니라
  볼륨을 바꾸거나 일부를 루프시키거나 하는 구조를 만들수 있다.
  또, 콜백함수를 쓸 때, 음을 합성하는 신디사이저나 딜레이 같은 이펙트를 만들거나 재생 스피드를
  컨트롤 하는 것도 가능하다. 마이크를 사용한 녹음도 이 API를 사용해 구현하고 있다.
  다만, 구현이 전체적으로 복잡하고, 능숙하게 사용하는데에는 시간이 걸린다.

  관련 프레임워크 : AudioToolbox.framework
  헤더 : AudioToolbox/AudioQueue.h

OpenAL
  OpenAL(Open Audio Library)는 3차원음향용의 인터페이스이다. 음원을 3차원공간 내에 배치시켜
  움직이는 것이 가능하다. 3차원 그랙픽의 OpenGL과 같다. 표준적인 인터페이스로서 플렛폼을 불문하고,
  여러가지 플렛폼에 설치되어 있다. 3D게임 등에 이용이 많으나, 음을 울리는 것만이면 비교적 구현이
  간단한 이점이 있다. 루프나 볼륨의 컨트롤 등도 가능하므로, System Sound Services와 Audio Queue Services
  의 중간적인 기능을 가진 구조로서 이용하는 것이 가능하다.
  또, 재생의 대기시간도 적으므로 실시간성이 요구되는 어플리케이션용이라고 할수 있다.

  관련 프레임워크 : OpenAL.framework
  헤더 : OpenAL/al.h OpenAL/alc.h

AVAudioPlayer (iPhone OS 2.2~)
  iPhone OS 2.2부터 도입된 방법이다. 사운드를 재생하는 것만에 Audio Queue Services 등을 사용하는 것은
  복잡하다는 개발자의 소리에 의해, 사운드파일의 재생만을 특화한 API로서 도입되었다. 볼륨이나 루프의
  설정도 가능하다. Audio Queue Services과 같이 자유도와 확장성은 없으나, 간단히 사용할수 있다.

  관련 프레임워크 : AVFoundation.framework
  헤더 : AVFoundation/AVAudioPlayer.h

Audio Unit
  가장 하드웨어에 가까운 낮은 레벨의 방법이다. 다른 API는 전부 시스템 위에 구축되어 있다.
  이펙트 등의 고도의 처리를 적은 대기시간으로 구현하고 싶을 때에 사용할 수 있다.
  다만, 구현은 상당히 복잡하다.

  관련 프레임워크 : AudioUnit.framework
  헤더 : AudioUnit/AudioUnit.h

[출처 : ユメみるiPhone]

어디에 이 글을 올려야 될지 한참 고민했네요.. 
단지 되는대로 해석해 놓아서 좀 어색한 부분이 있을 수 있으나 넓은 아량과 높은 이해도로 커버해 주세요^^
 


출처 : http://blog.naver.com/PostView.nhn?blogId=seogi1004&logNo=110085742694
Posted by 오늘마감

댓글을 달아 주세요