偉そうなことを書いていますけれども、空っぽのネイティブアプリケーションをコンパイルして、それを iPod Touch にインストールできたというだけです。ご存知のように iPod Touch や iPhone のためのアプリケーションを開発するためには、Apple の SDK をインストールします。優秀なソフトウェア開発環境が提供されていて素晴しいです。このように開発されたアプリケーションはシミュレータでテストすることになるのですが、iPod Touch や iPhone にインストールして実機でテストすることもできます。この場合、$99 を支払って、正式な開発者として登録しなくてはなりません。開発者として申し込んでから約10日目にして、ようやく最初のアプリケーションをiPod Touch で実行することができました。ググリまくったところ、みなさん、かなり苦労なさっていますので、落し穴をまとめます。
**iPhone Developer Program への申し込み
Apple Storeで「iPhone Developer Program」への参加権を購入すると、Appleからメールが届いて iPhone Developer Program の認証サイトへのリンクが送られます。ここをクリックすれば、開発者向けのポータルサイトの入口が開くはずなのです。ところが、このリンクをクリックしても「認証に失敗した」という表示になってしまいました。
仕方がないので Apple のサポートにメールしました。iPhone Developer Program の受付は全部英語かと思っていたので、英語の文面で問題点を説明したのですが、10日ばかりして届いたのは日本のサポートセンターからのメールでした。どうも、Apple Store に保存されていた氏名が文字化けしていたために認証に失敗していたというのです。
いくつかのメールを交換して、ようやくポータルサイトにアクセスすることができました。
**開発チームの登録
iPhone Developer Programには、個人単位での参加と企業単位での参加があります。どちらの場合も開発チームを登録しなくてはなりません。ぼくの場合は個人単位での参加なので、一人チームを定義します。このとき、キーチェーンアクセスを使って、証明書発行要求書を作成してポータルサイトにアップロードします。
ここではまる落とし穴は:
-デフォルトでキーチェーンアクセスが提示した氏名は”Wakita Ken”だったけれども、iPhone Developer Programに申し込んだ氏名は”Ken Wakita”なので、変更しなくてはならないこと。記憶は怪しいものの、たぶん最初の試行では、変更し忘れたと思います。
-この作業を行うポータルの画面に「In addition to your development certificate, you will also need to download the WWDR Intermediate Certificate.」と書かれていたのですが、読み飛ばしていました。この”WWDR Intermediate Certificate”をダウンロードして、インストールしなかったのが敗因のようです。
**デバイスの登録
自分が開発したソフトを動かすiPod TouchやiPhoneの情報をポータルに登録します。それぞれの機器に識別子があるので、それを調べてポータルに登録します。ここは特に難しいことはありません。
**App IDの登録
App IDは、iPhoneアプリケーションの同一性を表す識別子のようです。複数のiPhoneアプリケーションを開発する場合、それぞれのアプリケーションごとに異なる識別子をポータルに登録するのではなく、ワイルドカードを含んだ識別子をポータルに登録して、開発するアプリケーションのBundle IDにそのパターンに合致するものを指定するようです。
ネットで検索したところ、ここではまる人がものすごくたくさんいました。ぼくの場合、単に「*」を指定した単純なものを指定しました。「com.ken_wakita.*」のようなものも指定できるんではないかと思うのですが、ネット上の人々の多くは簡単な App ID を使っているようです。
**Development Provisioning Profileの登録
これは「誰が開発したソフトをどの機器の上で動かすか」という情報に相当しているようです。これをポータルで作成したものをダウンロードして、Xcodeにインストールします。この情報がソフトウェアに組込まれていないと、ソフトウェアを iPod Touch/iPhone にアップロードすることができません。
**アプリケーションへのApp IDの設定
Xcode を使ってアプリケーションをコンパイルしてから、アプリケーションに Development Provisioning Profileを組込む作業が必要です。このためには、プロジェクトの情報で開発者の名前とDevelopment Provisioning Profileを指定するのですが、ここで間違いが多いです。
-開発者の名前は「iPhone Developer: Ken Wakita」のような感じで指定しますが、ここで「:」(コロン)のあとに、空白一文字があることが重要です。多くの人がこれを省略して、アップロードできなくなっていました。
-開発者の名前を正しく指定すれば、正しいDevelopment Provisioning Profileをリストから選択することができるようになります。
終ってみれば大したことはないようにも思うのですが、はまっているときは大変でした。ネットを検索しまくり「iPhone を初期化してバックアップから復旧したらうまくいった」とかいう記事を信じて、あやうく iPhone をただの鉄の板にしかかりました。
なにが嫌だといって、「Build & Run」のボタンをクリックしても、ろくなエラーが表示されないのです。「アップロードに失敗しました。iPhone を再起動したらうまくいくかもよ。」なんて、まるで助けにならないメッセージが表示されるだけです。iPhone Console を見ることもできるのですが、ほとんど助けになりません。ひたすら試行錯誤あるのみです。
一度、うまくいけば、たぶんそのあとは問題ないと思います。最初だけ大変なんだと思います。