TOPシステム開発> 第1回:iPod touchにアプリケーションがインストールできる不思議 (3/3)

完全先取り! iPod touch開発

完全先取り! iPod touch開発

第1回:iPod touchにアプリケーションがインストールできる不思議

著者:masuidrive

公開日:2007/11/27(火)

iPhoneの解析からアプリケーション開発がはじまった

iPhone上のファイルへアクセスできるようになると、各種ファイルの解析がはじまりました。

iPhoneのディレクトリ/フォルダ構成は「第1回:iPod touchはハンドヘルドMac!?」で解説した通りMac OS Xとほぼ同じだったため、Macを使ったことのある開発者であれば、ほとんどのファイルの内容は容易に想像が付いたようです。

まずiPhoneには隠し機能として多くのネットワークサービスが組み込まれており、それらがオフになっていることが判明しました。そこで、起動後に読み込まれる設定ファイルを書き換えることでサービスを起動し、外部から容易にファイルの変更ができるようになりました。

JailBreakの仕組み
図3:JailBreakの仕組み

さらに解析が進み、iPhoneにインストールされているiTunesやiPhoto、Safariは「/Applications」にアプリケーションごとに「アプリ名.app」という名称フォルダに格納されていることもわかりました。

さらにOS Xのフレームワークやライブラリを保存している「/Libraries」フォルダには、Mac OS Xで使われている「Cocoa」というフレームワークが採用されていることも判明しました。つまり開発手法も、Mac OS Xと同様であると推測できるわけです。

Mac OS Xの開発環境である「Xcode」はPowerPCとIntelに向けたバイナリを生成できるのですが、標準ではARMバイナリの生成には対応していません。実はXcodeでは、Linuxなどで広く採用されているオープンソースのコンパイラ「GCC(Gnu Compiler Collection)」が利用されており、GCC自体はARMにも対応しています。

そこでXcode内のGCCではなく、ARMのアプリケーションが生成できるように設定したGCCを別途導入することで、ARM向けのバイナリの作成が可能になるのです。

またGCCはOS Xの開発言語として採用されている「Objective-C」をサポートしています。実行バイナリ形式である「Mach-O」はサポートされていませんでしたが、iPhone用に新たにプロジェクトが立ち上げられMach-Oをサポートする「Toolchain」がリリースされました。

これらの成果から、iPhoneが発売されて4週間ほどで、iPhone上で動く「Hello World」を表示するはじめての非公式アプリケーションが登場したのです。

次回は

JailBreakの手法が試されている頃、10月17日にアップル社が、サードパーティによるアプリケーション開発を認め、SDKを2008年2月にリリースすることが発表されました。

筆者は、アップル社がWebアプリケーションだけでなく、SDKを使ったネイティブアプリの開発を認めた背景には、ハッカーによる非公式アプリの盛り上がりがあると感じています。

公式SDKがリリースされるまでに、もう少し時間があります。次回は現在有志によってリリースされている非公式SDKを使って、実際にアプリケーションを作ってみましょう。


前のページ  1  2  3


masuidrive
著者プロフィール
masuidrive
最近は風呂の人と呼ばれるが、別にいつも風呂で仕事なわけじゃない。喫茶店が好きでMacBook proを持って、あちこちのお店で仕事してる。でも良い喫茶店が見つからず、マクドが多いのが残念。
http://masuidrive.jp/


INDEX
第1回:iPod touchにアプリケーションがインストールできる不思議
  iPod touchになぜアプリケーションがインストールできるのか
  libtiffのバグを利用したJailBreak
iPhoneの解析からアプリケーション開発がはじまった