iPadで稼働するアプリケーションへの発展
iPadの登場で変わるiPhone開発
4回シリーズの一連の記事は今回が最後です。前回までにiPhoneのアプリケーションを作りましたが、今回はiPadです。
ちょうどこの原稿を書いているときに、5月28日に発売されることがアナウンスされたので、 図らずもドンピシャなタイミングでiPadの記事をお届けできます。
もっとも、多くの開発者は、すでにSDKがリリースされており、あれこれ試して見ているところかと思います。 前回までにiPhoneで作った業務システムのクライアントソフトを、iPadでも作ってみるという視点から、 新しいデバイスであるiPadの開発面を見て行くことにしましょう。
iPadも「iPhone OS」ですが、iPad発売時点では、iPhoneはVer.3.1.3、iPadはVer.3.2で利用することになっています。 つまり、Ver.3.2はiPad専用バージョンということで、Ver.3.1.x以前でiPadが稼働したことはないことから、 結果的にiPadとiPhoneで「共通のiPhone OS」バージョンはないということになります。
Mac OS Xでも、PowerPCとIntel、32/64ビットがそれぞれ混在できる「ユニバーサルバイナリ」が採用されており、 iPhone OSでも同様にiPadとiPhoneのユニバーサルアプリケーションも可能です。 しかしながら、結果的にはそれぞれ別々に作ることになるでしょう。
なぜかというと、画面サイズがこれだけ違うと、同一のユーザーインタフェースで操作するということは極端に難しくなるからです。 Xcodeのテンプレートで「Universal」が選択できるものがあるのですが、 Objective-Cで記述するプログラムやXIBファイルは、iPhone用とiPad用が別々に用意されています。
iPad対応のSDKになり、iPad向けのテンプレートも用意されていますが、 まずは既存のXcodeの作業がiPad向けに開発する場合にどこが違うのかをまず見てみましょう。
iPhone向けのプロジェクトをiPad向けに
まず、Xcodeのビルド情報は要チェックです。プロジェクトやターゲットなどいろいろなところで設定がありますが、 少なくとも、どこかで、「Deployment」のカテゴリにある「Targeted Device Family」のところで「iPad」を選択します(図1-1)。 選択肢はほかに「iPhone」と「iPhone/iPad」がありますが、 「iPhone/iPad」は、1つのバイナリでiPhoneとiPadの両方で実行させたい場合に選択します。
そして「iPhone OS Deployment Target」から「iPhone OS 3.2」を選択します。ここまでの設定で、 コンパイラはiPhone OS 3.2を前提に実行するようになります。つまりは、iPad向けにビルドするということです。
図1-1:Xcodeのビルド情報を設定する |
その後に、Xcodeのツールバーの一番左側のドロップダウンリストを見ると、「アクティブSDK」などの設定があります。 ここでは図1-2のように「iPhoneシミュレータ3.2」などを選択します。Ver.3.2の項目を選択すれば、 「iPhoneシミュレータ」はiPadであるとみなして稼働します。名前がややこしいですが、 ともかくVer.3.2の項目をここのメニューで選択されていることを確認します。
図1-2:Xcodeのドロップダウンリストの選択項目 |
そして、XIBファイルは、iPhone向けに作っていたままでは、iPad向けにはなりません。 また、新しいクラスのオブジェクトもライブラリに出てきません。 そこで、XIBファイルをInterface Builderで開いた状態で、FileメニューからCreate iPad Versionなどを選択します(図1-3)。 すると新しいウインドウで新たなiPad向けのXIBファイルができるので、そのファイルをどこかに保存して、 必要ならXcodeのビルド対象ファイルとして含めます。
図1-3:Interface BuilderのFileメニューからCleate iPad Versionなどを選択する |
おおまかにはこれだけで、iPhone向けのプロジェクトはiPad向けになりますが、 当然ながら、ここからプログラムやXIBファイルの構成をいろいろ変えて、ちゃんと動くようにするという長い作業が待っています。