iPhoneアプリをLinuxで作成するの法
iPhone Developer Program の申請が全然通らないので、勝手アプリの作成環境を整えてみた。
Cydia でおなじみの saurik 氏がクロスコンパイル環境の作り方を以下のページに書いてくれていて、基本これに従えばOK。
すごいなー。saurik++
簡単に環境作れるようにスクリプトにまとめた。ヘッダのコピーのとことかちょっと追加してある。
簡単に説明。
iPhone のファームウェアのファイルを、ごにょごにょ(ググればすぐわかる)して展開して ~/tmp/iphone/iPhone2.1
にコピー。
iPhone SDKをダウンロードしてきて展開して MacOSX10.5.pkg
と iPhoneSDKHeadersAndLibs.pkg
を ~/tmp/iphone/Developer
に展開。
http://www.opensource.apple.com/darwinsource/Current/ から
- CF-*
- DiskArbitration-*
- IOCDStorageFamily-*
- IODVDStorageFamily-*
- IOGraphics-*
- IOHIDFamily-*
- IOKitUser-*
- IOStorageFamily-*
- Libc-*
- WebCore-*
- cctools-*
- configd-*
- launchd-*
- libsecurity_authorization-*
- libsecurity_cdsa_client-*
- libsecurity_cdsa_utilities-*
- libsecurity_cms-*
- libsecurity_codesigning-*
- libsecurity_cssm-*
- libsecurity_keychain-*
- libsecurity_mds-*
- libsecurity_ssl-*
- libsecurity_utilities-*
- libsecurityd-*
- xnu-*
をダウンロードして ~/tmp/iphone/apple
に展開。(*
はバージョン番号)
で、あとは上のスクリプト実行すれば ~/app/toolchain
にクロスコンパイル環境がインストールされる。YATTA!
ちなみに僕の Debian 環境ではこの作業をするために
flex bison gcc-multilib gobjc
などのパッケージを追加でインストールする必要があった。
これで iPhone 用のバイナリが作れるようになる。あとは ssh なり何なりで iPhone にファイルを転送すればOK。
ただ iPhone は署名済みなアプリケーションしか実行できないのでそこもまた saurik 氏の記事
を参考にすれば回避できる。