2010-03-18

iPhone Programming Note #1: 実機を使った開発

"programming"というよりは、"development"寄りの話題。自分用のメモ。

iPhone SDK をダウンロード(してインストール)すれば、iPhone シミュレータを使った開発ができるようになる。一方、iPhone や iPod touch の実機を使ったテストやデバッグをするためには、iPhone デベロッパプログラム(有料; 個人の場合、年間参加費10,800円)に参加しなければならない。

プログラムに参加した後、実機での開発をするための具体的な手順は、iPhone Dev Center からダウンロードできる "iPhone Developer Program User Guide" というドキュメントに書かれている。

以上を踏まえ、個人で(実機を使った)開発を行う場合のおおまかな流れは以下のようになる。

  • (1) Intel Mac と iPhone/iPod touch を入手する
  • (2) アップルデベロッパとして登録する
  • (3) iPhone SDK をダウンロードし、Mac にインストールする
  • (4) iPhone デベロッパプログラムに参加する
  • (5) iPhone Development 用の certificate を用意する
  • (6) 実機を開発機として登録する
  • (7) App ID を作る
  • (8) 開発用の provisioning profile を用意する
  • (9) Xcode のプロジェクトを変更する

それぞれのステップについて、後から思い出せるように、もう少し説明してみる。

(1) Intel Mac と iPhone/iPod touch を入手する

今はもうすべての Mac は Intel プロセッサ搭載になっているから、中古で古い Mac を手に入れたりしない限りどの Mac でも問題ない。実機でテスト & デバッグを目指すんだから、iPhone (または iPod touch) の実機がないことにはどうにもならない。

(2) アップルデベロッパとして登録する

登録すれば iPhone SDK をダウンロードできるようになる。

(3) iPhone SDK をダウンロードし、Mac にインストールする

ここまでは無料。シミュレータを使って iPhone プログラミングをするだけなら、ここまでで良い。実機で動かせないし、App Store での配信もできないから、あまり意味はないけど。つまりこの段階では、アプリを作っても自分で使えないし、人に使ってもらうこともできない。

(4) iPhone デベロッパプログラムに参加する

ここから有料。本国では $99 のようだけど、日本では10,800円(税込み)になる。有効期間は 1 年。今の円高を考慮すると、ちょっと高めだねえ。ちなみにこの値付けは 2009 年 2 月時点と、今(2010 年 3 月)とで変わっていない。

(5) iPhone Development 用の certificate を用意する

ここからがいよいよ実機で動かすための手順になる。

  1. キーチェーンアクセス.app で「証明書の要求」(Certificate Signing Request)を作成する。
  2. ブラウザで iPhone Dev Center にログインする。
  3. 上記サイトより iPhone Provisioning Portal を開く。
  4. ↑で作った「証明書の要求」を登録する。
  5. (個人での開発なので)自分で「要求」を承認する(approve)。
  6. Status が "Issued" に変わったら(すぐに変わる)、「証明書」をダウンロードする。
  7. ダウンロードした「証明書」をキーチェーンアクセス.app に登録する。

以上で iPhone デベロッパとしての証明書の準備が完了。ちなみに、この証明書の有効期限は 1 年となっている。expire したら作り直すんだろうな。

(6) 実機を開発機として登録する

iPhone (iPod touch) を開発用途(テスト & デバッグ)に使うためには、その iPhone を開発機としてiPhone Dev Center に登録する必要がある。登録に必要な情報は iPhone の UUID 。これを調べるには Xcode にふくまれるの「オーガナイザ」を使う。iTunes でも良いっぽい。

iPhone を Mac に接続し、「オーガナイザ」でデバイスを選ぶと Summary ページに Identifier と言うフィールドがある。そこに表示されている長い 16 進数が UUID だ。これを切って、iPhone Dev Center / Provisioning Portal / Devices に貼って登録が完了する。

ちなみに、今回わたしが登録したのは、古い 3G の方の iPhone だ。そのうち、3GS の方も登録するだろうけど。

(7) App ID を作る

これは iPhone Dev Center の iPhone Provisioning Portal 上での作業。

App ID は、その名の通り、アプリを識別するためのもので、Apple が(上記 Provisioning Portal で)生成する prefix (Bundle Seed ID と呼ぶ)と、開発者が指定する Bundle Identifier から成る。正式版(App Store から配信するもの)では、両者を合わせて、世界中のすべてのアプリで一意になるように決めなければならない。けど、開発版(App Store に上げない)場合は、Bundle Identifier の部分は「ワイルドカード」(つまり 「*」)で良い。

Bundle Identifier の方は、ドメインを逆にしたものにアプリ名を付けることが推奨されている。「com.foo.bar」のように。有料であれ無料であれ、App Store で配信するとなったらドメインを用意することを考えるべきだろうな。

(8) 開発用の provisioning profile を用意する

これも iPhone Dev Center の iPhone Provisioning Portal 上での作業。

要は、ここまでに用意してきた certificate と開発機(の UUID)、および App ID を結びつけるってことだ。

Portal 上で profile が準備できたら、ダウンロードして Xcode に登録する。いちばん簡単な方法は、ダウンロードした profile を Xcode のアプリアイコンにドラッグ & ドロップすること。登録が成功すれば「オーガナイザ」の Provisioning Profiles のリストに表示される。ファイル自体は「~/Library/MobileDevice/Provisioning Profiles」というフォルダにコピーされる。

ここまで来たら、あともう少し。

(9) Xcode のプロジェクトを変更する

シミュレータを使った開発をしていれば、ターゲットがシミュレータになっているはず。これをデバイスに変更する。そして、ターゲットのビルド設定で "Code Signing" のセクションにある「コード署名ID」の「Any iPhone OS Device」の値を、↑の profile に結びついた開発者(自分)に設定する。

あとは、通常の「ビルドと実行」「ビルドとデバッグ」で OK。もちろん、開発機として登録した iPhone が Mac につながっている必要がある。デバッグモードで動かせばブレイクポイントをしかけることもできて、シミュレータ上のデバッグと変わるところはない。

これで終わりじゃない

ここに書いたのは「実機を使った開発(テスト & デバッグ)」のための作業だ。同じようなことを「App Store から配信」するためにもやらなければならない。配信者用の証明書の準備やら、正式な App ID の用意やら、配信用の provisioning profile の用意やら、そういったことだ。さらに、実際に App Store にアップロードするのは iTunes Connect という別のウェブ上のツールを使っての作業が待っている(らしい)。

正直言って、メンドウだよ…orz

メンドウに感じてしまうのは、複数のツールに加え、ウェブ上(iPhone Provisioning Portal)での作業があるからだろう。Xcode (のオーガナイザ) だけで完結していたら、手順の数が同じだったとしても、もっとすっきりしていると思えたはずだ。UUID を「オーガナイザ」からウェブ上の Portal にコピーさせるなんておかしいだろう。

0 件のコメント:

コメントを投稿