この記事では、iOSデバイスを対象とするPhoneGap/Apache CordovaアプリケーションをXcodeで開発するための環境およびワークフローをセットアップする手順を説明します。Xcodeは、OS XおよびiOSアプリケーションの開発用にAppleが提供している統合開発環境(IDE)です。iOSは、iPhone、iPadおよびiPod touch用のAppleのモバイルオペレーティングシステムです。PhoneGapは、ネイティブにインストールできるモバイルアプリケーションをHTMLおよびJavaScriptで作成するためのオープンソースのアプリケーションプラットフォームで、Apache Cordovaとも呼ばれます。

Xcodeをセットアップする

PhoneGapアプリケーションを開発するためにXcodeをセットアップするには、まずAppleのXcode IDEをダンロードしてインストールします。Xcodeは、Appleのデベロッパーサイトでダウンロードできます。Xcodeをダウンロードする前に、Appleのデベロッパーとして登録する必要があります。登録が完了すると、Xcode、iOSデバイスシミュレーターおよびAppleのデベロッパー向けドキュメントに無料でアクセスできます。アプリケーションを実際のデバイスに展開する場合、またはアプリケーションをiTunesストアで配信する場合は、iOSデベロッパーとしてAppleに登録する必要があります。この登録には年間参加費がかかります。

Xcodeをダンロードしたら、セットアップウィザードに従ってインストールを実行します。

PhoneGapをダウンロードしてインストールする

Xcodeをインストールしたら、次はPhoneGapをダウンロードしてインストールします。

  1. ブラウザーでPhoneGapのダウンロードページhttp://phonegap.com/download)にアクセスし、オレンジ色のダウンロードリンクをクリックして、ダウンロードを開始します。

注意:ここで紹介する手順はPhoneGap 1.5.0用のものですが、これと同一のプロセスまたは類似したプロセスがすべてのバージョンに適用されます。

  1. ZIPファイルの内容を解凍します。
  2. 解凍ファイルの libs/ios/ フォルダーに移動し、Cordova-1.5.0.pkgパッケージインストーラーをダブルクリックします。

PhoneGapインストールウィザードが起動し、システムにPhoneGapをインストールする手順が表示されます(図1を参照)。

  1. 「Thanks for installing PhoneGap 1.5.0!(PhoneGap 1.5.0がインストールされました。ありがとうございました!)」というメッセージが表示されるまで、インストーラーのインストール手順に従って操作します。

このメッセージが表示されたら、PhoneGapのインストール手順は終了です。これで、XcodeでPhoneGapプロジェクトを作成できます。

Xcodeでプロジェクトを作成する

PhoneGapをインストールすると、XcodeにPhoneGapプロジェクトテンプレートが追加され、PhoneGapアプリケーションを効率的に作成できます。

  1. プロジェクトを作成するには、Xcodeのスタートアップ画面(図2を参照)で、「Create A New Xcode Project(新規Xcodeプロジェクトの作成)」をクリックします。または、File(ファイル)/New(新規)/New Project(新規プロジェクト)を選択して新しいPhoneGapプロジェクトを作成することもできます。

新しいXcodeプロジェクトを作成する最初の手順は、プロジェクトテンプレートを選択することです。

  1. iOS/Application(アプリケーション)で、「Cordova-based Application(Cordovaベースのアプリケーション)」テンプレートを選択し、「Next(次へ)」を選択します(図3参照)。

プロジェクトテンプレートを選択したら、プロジェクトに名前を付ける必要があります。作成するアプリケーションに適したわかりやすい名前を付けます。

  1. ここでは単純なHello Worldアプリケーションを作成するので、「Hello」と入力します(図4参照)。

New Project Options(新規プロジェクトのオプション)画面で、会社IDも入力する必要があります。会社IDは、製品名の前に付加されるプレフィックスで、この2つが連結してアプリケーション固有のバンドルIDになります。バンドルIDは、Appleのプロビジョニングポータルでアプリケーションに対して作成する固有のアプリケーションIDと同一になります(図5を参照)。

何を入力すればよいかわからない場合、またはこのアプリケーションのデバイスへの展開や配信をすぐには行わない場合は、何を入力してもかまいませんし、空白のままにすることも可能です。バンドルIDは、後からいつでも変更できます。その場合は、Xcodeのプロジェクト概要画面のIdentifier(ID)フィールドを編集するか、プロジェクトのInfo.plistファイルを手動で編集します。

注意:プロジェクトのオプション画面には、Automated Reference Counting(ARC)を有効にするためのオプションもあります。PhoneGapアプリケーション内でネイティブコードを記述しない場合は、このオプションは無視してかまいません。PhoneGapネイティブプラグインまたはネイティブコードを記述する場合のみ、ARCの設定を行う必要があります。PhoneGapネイティブプラグインを使用すると、独自のネイティブコードおよびJavaScript APIを記述して、PhoneGapコンテナの機能を拡張できます。

PhoneGapプロジェクトは、ARCの設定にかかわらず機能します。ARCを有効にすると、どのネイティブコードでも、retainおよびreleaseコードを用いてメモリ割り当てを管理する必要がなくなります。XcodeのLLVMコンパイラーによって適切なretainおよびreleaseコードが自動的に生成されます。ARCを無効にすると、メモリを手動で管理する必要があります。ARCはネイティブコードにのみ適用され、HTMLまたはJavaScriptコードには適用されないのでご注意ください。

  1. 「Next(次へ)」をクリックします。
  2. ファイルシステム内でPhoneGapプロジェクトを格納するフォルダーを選択します(図6を参照)。
  1. 「Create(作成)」をクリックします。

XcodeでPhoneGapプロジェクトが作成されます。ただし、プロジェクトを機能させるには、まだいくつか手順を行う必要があります。

PhoneGapプロジェクトのインターフェイスの作成に使用するHTMLおよびJavaScriptはすべて、 www フォルダーに格納されます。この www フォルダーは、最初はPhoneGapプロジェクトにはありません。このフォルダーを作成するには、まずアプリケーションを実行する必要があります。

  1. ウィンドウの左上隅にある「Run(実行)」をクリックしてアプリケーションを実行します(図7を参照)。または、Product(製品)/Run(実行)を選択することもできます)。

iOSシミュレーターでPhoneGapアプリケーションの起動が試行されます。最初の起動時には、「ERROR: Start Page at 'www/index.html' was not found.(エラー:スタートページ'www/index.html'が見つかりません。)」というエラーメッセージが表示されます。これは、普通の現象なので心配する必要はありません。この最初の手順中に、 www フォルダーが作成されます。このフォルダーをプロジェクトに追加すると、エラーは発生しなくなります。

  1. プロジェクトに www フォルダーを追加するには、Ctrlキーを押しながらプロジェクトのルートをクリックし、「Add Files To "Hello"(ファイルを「Hello」に追加)」を選択します(図8を参照)。
  1. 表示されたダイアログボックスで、新たに作成されたプロジェクトの www フォルダーを選択します。親フォルダーまたはフォルダー内のコンテンツではなく、 www フォルダーそのものを選択してください。
  2. 「Create Folder References For Any Added Folders(追加されたフォルダーのファイル参照を作成)」を選択します(図9を参照)。このオプションを選択しないと、プロジェクトでエラーが発生します。
  1. 「Add(追加)」をクリックします。

プロジェクトのルートの直下に www フォルダーが追加されています(図10を参照)。

  1. 「Run(実行)」をクリックして再びプロジェクトを起動します。

今度は、プロジェクトが正しく設定され、iOSシミュレーターで起動します。 www フォルダー内のHTMLファイルを一切変更していない場合は、iOSシミュレーターで実行されているアプリケーションにはデフォルトのPhoneGapスターターページが表示されます(図11を参照)。

この画面が表示されたら、PhoneGapを使用してXcodeでiOSアプリケーションを作成することができます。

XcodeでPhoneGapを使用する

PhoneGap環境を適切にセットアップしたら、この開発環境を最大限有効に活用できるように、XcodeおよびPhoneGapの基本事項をいくつか確認しておきましょう。

一般に、Xcode内での移動は非常に簡単です。画面の左側にプロジェクト階層が表示され、画面の中央にメインのコンテンツ領域が表示されます。左側でファイルを選択すると、そのコンテンツがメインの編集領域に表示されます。

プロジェクト階層のファイルをクリックすると、そのファイルのコンテンツが同じウィンドウに表示され、ダブルクリックすると、そのファイルが新しいウィンドウで開きます。これは多くの人が間違えやすい点です。

プロジェクトのルートを選択すると、プロジェクトの概要画面が表示されます。この画面で、バンドルID、アプリケーションのバージョン、対象とするデバイス、アイコン、スプラッシュ画面、サポートされる向きなど、様々なオプションを簡単に設定できます(図12を参照)。この画面は、アプリケーションを展開用に設定するときに便利です。

Xcodeウィンドウ最上部の「Run(実行)」ボタンのそばには、Scheme(スキーム)メニューがあります。このメニューを使用して、プロジェクトのコンパイルスキームおよび対象のデバイスまたはシミュレーターを変更できます。特定のデバイスを対象とする場合、またはiOSシミュレーターを変更する場合は、プロジェクト名をクリックして、別のデバイスまたはシミュレーターを選択します(図13を参照)。次回アプリケーションを実行するときには、新たに選択された対象に展開されます。

PhoneGapアプリケーションのインターフェイスは、全体がHTMLおよびJavaScriptを使用して開発されている点に注意してください。インターフェイスで使用されるHTMLアセットは、すべて www フォルダーに格納します。遠隔地からファイルを追加する場合は、PhoneGap.plistファイルでその場所をホワイトリストとして登録する必要があります。この登録がないと、セキュリティ例外が発生し、外部リクエストはすべてブロックされます。

デフォルトでは、Xcodeのコンテンツ領域には、プロジェクトの階層で選択したファイルに基づいたソースコードが表示されます(図14を参照)。

複数のファイルを並べて開いて編集したい場合も、心配する必要はありません。方法は若干わかりにくいですが、複数ファイルの編集は可能です。

ファイルを並べて編集するには、Xcodeウィンドウの右上隅にあるShow The Assistant Editor(アシスタントエディターを表示)ボタンをクリックします。2番目のエディターが表示されたら、左側のプロジェクト階層から新しいエディターウィンドウにファイルをドラッグします。この方法は、別々のHTMLファイルとJavaScriptファイルを同時に表示したい場合、またはネイティブプラグインとそのJavaScriptインターフェイスを同時に表示したい場合に特に便利です。

次のステップ

XcodeにPhoneGapがセットアップされたので、PhoneGapを使用してiOS用の本格的なアプリケーションを作成できます。次のステップとして、ネイティブプラグインでPhoneGapを拡張する(iOS)をご覧ください。

繰り返しますが、PhoneGapアプリケーションのユーザーインターフェイスはHTML、CSSおよびJavaScriptで構築されています。したがって、デベロッパーは従来のWeb開発スキルを活用して魅力的なアプリケーションを簡単に作成できます。HTML、CSSおよびJavaScriptで作成されるリッチコンテンツについて詳しくは、Adobe Developer ConnectionのHTML5およびCSS3デベロッパーセンターを参照してください。