![完全先取り! iPod touch開発](/images/article/common/70X90_20071109.jpg)
完全先取り! iPod touch開発
第3回:iPod touchで動作するテキストエディタはこう作る!
著者:masuidrive
公開日:2007/11/29(木)
iPod touch用のテキストエディタを作ろう
「第2回:iPod touchの自作アプリケーションが作れる&動かせる!」では、Mac OS X上にiPod touchの開発環境を構築し、簡単なHello Worldアプリケーションのコンパイルから動作テストまでの流れを紹介しました。
今回はその環境を使って、iPod touch専用のテキストエディタを作ってみます。まず何もしないベースアプリケーションを作成し、それに機能を加えていきます。
質問殺到「JailBreakのやり方」
テキストエディタの開発を行う前に、第1回/第2回公開と同時に寄せられた「JailBreakの仕組みはわかったけど、どうすればできるの?」という質問にお答えしておきましょう。
先日AppleからiPod touch向けの新ファームウェアがリリースされ、「第1回:iPod touchにアプリケーションがインストールできる不思議」で紹介したlibtiffの脆弱性が解消されました。原稿執筆時点では1.1.2固有の脆弱性は見つかっておらず、JailBreakを行うためには必ずバージョン1.1.1のファームウエアが搭載されたiPod touchが必要となります。
第1回に紹介した、InstallのリンクをクリックするだけでJailBreakからインストーラの組み込み、脆弱性へパッチまでを一括で行える「AppSnapp Installer for 1.1.1」を提供しているWebサイト「jailbreakme.com」でも、同様にバージョン1.1.1までに対応しています。
AppSnapp Installer for 1.1.1のWebサイトにiPod touchのSafariで接続し、注意書きをよく読んだ上で「Install AppSnapp」リンクをタップします。後は自動的にJailBreak作業が行われます。その後は、第2回で紹介した「iNdependence」を利用することで、簡単にSSHを組み込むことができます。
なおJailBreakはあくまで有志が解析した情報を基にした、Apple未公認の利用法です。iPod touchが壊れたり、その際に補償を受けられないことがあります。自己責任の上で作業する際には必要なデータは保存し、さらにiPod touchの復元方法について確認しておきましょう。
復元方法についてはAppleのWebページ
(http://docs.info.apple.com/article.html?artnum=305744-ja)で、さらに「iPod touch リカバリ」をキーワードに検索することで強制的なリカバリ方法についても情報を入手しておきましょう。
まずはアプリケーションのベースを作成
iPod touchのアプリケーションは「Objective-C」という言語で記述します。CやC++、Javaをお使いの方であれば、少しの差違を覚えれば、さほど苦労することなくプログラムを書くことができると思います。
本連載ではObjective-Cについては最小限の解説のみを行います。実際にプログラムする際には別途Mac OS X向けに書かれた書籍などを参考にするとよいでしょう。ただし、あくまでもMac OS Xを対象としているため、APIの説明は「AppKit」という専用のものについて記述されています。
これに対してiPod touchでは、「UIKit」というAPIが中心となります。このUIKitはAppKitと比べ、画面サイズの違いやマルチウィンドウの有無などの違いがありますが、APIとしてみた場合には共通部分が多くなっています。
UIKitのリファレンスについては現状公開されていませんが、有志が解析したことによってクラスと関数名について「CocoaDev」から情報を入手することができます。実際にプログラムを行う際は、AppKitの解説を参考にしつつ、対応するUIKitのクラスを前述のWebサイトから探すようにするとよいでしょう。
リスト1:main.m
#import <UIKit/UIKit.h>
int main(int argc, char **argv)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
return UIApplicationMain(argc, argv, [UIApplication class]);
}
リスト2:Makefileを変更
![](/images/article/0711/9/3/code2.gif)
(画像をクリックすると別ウィンドウに拡大図を表示します)
リスト3:コンパイルを行う
$ make
iPod touch用のアプリケーションは、C言語で書かれた一般的なアプリと同じようにmain関数を呼び出すところからはじまります。このためまずはmain関数を作り、その中にメインプログラムを記述していくことになります。
iPod touchでは、GUI部分にUIKitというフレームワークが採用されています。main関数では、このUIKitを呼び出します。UIKitでは、アプリケーション本体を定義するクラスUIApplicationがあり、これをUIApplicationMainに渡すことで、プログラムが動きはじめます。
Objective-Cの拡張子は「.m」になります。まずはUIApplicationを起動するだけの「main.m」を記述したものがリスト1です。
main.mが完成したら、続いてこれをコンパイルします。「第2回:iPod touchの自作アプリケーションが作れる&動かせる!」で紹介したMakefileを参考に、main.mから実行できるEditorを生成するように変更します(リスト2)。
main.mとMakefileが揃ったらリスト3のように、コンパイルを実行します。
次のページ