iPhoneアプリをLinuxで作成するの法

iPhone Developer Program の申請が全然通らないので、勝手アプリの作成環境を整えてみた。

Cydia でおなじみの saurik 氏がクロスコンパイル環境の作り方を以下のページに書いてくれていて、基本これに従えばOK。

Upgrading the iPhone Toolchain - Jay Freeman (saurik)

すごいなー。saurik++

簡単に環境作れるようにスクリプトにまとめた。ヘッダのコピーのとことかちょっと追加してある。

http://gist.github.com/15487

簡単に説明。

iPhone のファームウェアのファイルを、ごにょごにょ(ググればすぐわかる)して展開して ~/tmp/iphone/iPhone2.1 にコピー。

iPhone SDKをダウンロードしてきて展開して MacOSX10.5.pkgiPhoneSDKHeadersAndLibs.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 氏の記事

Bypassing iPhone Code Signatures - Jay Freeman (saurik)

を参考にすれば回避できる。

by typester / at 2008-10-08T17:33:00 / iphone · linux / Comments(0)