|
iPhoneの解析からアプリケーション開発がはじまった iPhone上のファイルへアクセスできるようになると、各種ファイルの解析がはじまりました。 iPhoneのディレクトリ/フォルダ構成は「第1回:iPod touchはハンドヘルドMac!?」で解説した通りMac OS Xとほぼ同じだったため、Macを使ったことのある開発者であれば、ほとんどのファイルの内容は容易に想像が付いたようです。 まずiPhoneには隠し機能として多くのネットワークサービスが組み込まれており、それらがオフになっていることが判明しました。そこで、起動後に読み込まれる設定ファイルを書き換えることでサービスを起動し、外部から容易にファイルの変更ができるようになりました。 ![]() 図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 |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||


