ネイティブコードクラスをマッピングする
この時点でほぼすべての準備が完了していますが、JavaScriptからネイティブコードを呼び出せるようにするには、実行する手順がもう1つあります。
Cordovaがネイティブコードクラスを識別できるように、マッピングを追加する必要があります。Cordova.execを呼び出すときにネイティブクラスを識別するために使用した文字列参照を覚えていますか。その文字列をCordova.plistファイルの実際のクラスインスタンスにマッピングする必要があります。Cordova.plistファイルには、現在のCordovaプロジェクトの設定情報がすべて格納されています。
- プロジェクトナビゲーターで、Supporting Filesフォルダーを開き、Cordova.plistという名前のファイルをクリックします。
- 右側でPluginsエントリまでスクロールダウンし、展開します。
-
キーがcom.tricedesigns.HelloPlugin、値が「HelloPlugin」のエントリを追加し(図5を参照)、com.tricedesignsを自分の会社のIDに置き換えます。
- 変更内容を保存します。
これで、アプリケーションを起動してテストできます。アプリケーションを起動するには、「Run(実行)」ボタンをクリックするか、Product(製品)/Run(実行)を選択します。iOSシミュレーター(または接続したデバイス)でアプリケーションを起動すると、2つのボタンを持つ単純なインターフェイスが表示されます(図6を参照)。
いずれかのボタンをクリックしてネイティブプラグインのネイティブコードを呼び出すと、成功または失敗のコールバック時にJavaScriptによってアラートメッセージが表示されます。
ネイティブコードが呼び出されるときに、Xcodeデバッグコンソールで出力を確認することもできます。この出力は、ネイティブプラグインのNSLog呼び出しの出力を反映しています(図7を参照)。
次のステップ
iOSデバイス用PhoneGapアプリケーションのネイティブプラグインを作成する方法をご理解いただけたでしょうか。このテクニックを利用して、Game Center、Core Audio、Bonjourフレームワークなど、核となるPhoneGap SDKによって公開されないiOSフレームワークや、その他のネイティブコードにアクセスできます。また、オープンソースコミュニティで開発された数々のGitHubのPhoneGapネイティブプラグインも参照してください。
また、Adobe Developer ConnectionにPhoneGapデベロッパーセンターも開設されています。PhoneGap関連の記事はこちらで随時紹介していく予定ですので、ぜひご参照ください。
この作品はCreative Commons Attribution-Noncommercial-Share Alike 3.0 Unported Licenseに基づき使用が許可されます。この作品に含まれるサンプルコードに関して、このライセンスの範囲を超えた使用の許可については、アドビのWebサイトを参照してください。