2008년 3월 12일 수요일

iPhone SDK 가이드

xcode 3.1을 실행하여 기본 응용 프로그램 테스트를 진행해보았다. 결론은 ipod touch에서 프로그램 실행이 되지 않았다. library 특성이 뭔가 다른것 같다. iphone에서는 잘 되려나? 어쨌든 처음 xcode를 접하는 사용자를 위해 간단한 가이드를 작성한다.

xcode 실행 프로그램은 /Developer/Applications 에서 Xcode 를 실행시키면 된다.

상단의 메뉴의 "File -> New Project"를 선택하고, "Cocoa Touch Application"을 선택한 다음 프로젝트 이름을 넣는다.

그냥 단순히 "Build and Go" 버튼을 선택하여 컴파일 하고, 실행 시켜본다. 화면에 에뮬레이터가 동작하며 프로그램이 실행된다.


그런데, 이 환경에서 컴파일된 바이너리는 i386 바이너리로 단말과는 전혀 상관이 없는 바이너리다. 즉, 에뮬레이터 환경이 무늬만 iphone인 것이다. 자, 이제 emulator에서 작성을 마쳤으면, ipod touch 용 실행 파일을 만들어 보자.

메뉴에서 "Project -> Set Active SDK"를 선택하면 다음과 같은데, Device - Aspen 1.2를 선택하여 compile 하도록 한다.

최종 iphone 용 바이너리는 build/Debug-aspen/Hello.app 혹은 build/Release-aspen/Hello.app 에 있으니, Hello.app를 그대로 iphone의 /Applications 에 복사한 다음 스프링 보드를 다시 실행시키면 된다.

현재는 다음과 갈은 오류로 인해 실행되지 않는다. 이 문제의 해결이 가능한지 여부를 조사할 예정이다.

# ./HelloWorld
dyld: Symbol not found: _OBJC_CLASS_$_NSAutoreleasePool
Referenced from: /Applications/HelloWorld.app/./HelloWorld
Expected in: /System/Library/Frameworks/Foundation.framework/Foundation


댓글 2개:

Taehan Kim(김태한) :

정식 개발자 등록을 해야 iPod, iPhone 으로 다운로드 테스트가 가능한 것으로 알고 있는데요, 이것을 깰 방법을 연구하신다는 말씀이신가요?
그렇다면 성고하시길 빕니다 ~~~ !

하린아빠 :

정식 등록과는 상관 없이 배포된 SDK는 현재 사용중인 iphone, ipod touch와 호환되지 않습니다.
배포된 SDK는 2.0을 target으로 하고 있기 때문입니다.
사용가능하려면 6월까지 기다려야 하며, 바이너리를 단말에 올리는 거야 뭐, jailbreak 되어 있으면, 다른 파일 올리듯 하면 됩니다.