開発環境の構築手順 †
ここではiPhone SDKのインストールから実機テストまでの手順を公開しています(右も左もわからない状態で書いていますので内容が間違っているかもしれませんm(_ _)m)。あと文中の時間などは自分の時の話ですので、あくまでも目安としてお考え下さい。
実機テストまでの大きな流れは以下の通りです。
- iPhone SDKのインストール
- iPhone Developer Programへの参加
- 実機テストの準備(証明書の作成とインストール)
- 実機テスト
ポイントは以下の通りです。
- サポートへのメールは日本語でも受け付けてくれる
- サポートからの返事はわりと早く返ってくるが日中のみのようなので、その日のうちに終わらせたい場合は午前中に始めるとよいかも?
- iPhone Dev Centerで登録する情報とApple Storeで登録する情報は微妙に共通じゃない部分があるので注意(登録のたびによく確認すること)。例えばiPhone Dev
- 登録作業など途中で引き返すと思わぬエラーに見舞われるので、一度開始したら最後まで設定する方がよい。
1:iPhone SDKのインストール †
iPhone SDKのインストールは基本的にインストーラーを実行するだけで完了します。ただ、インストーラーはログインをする必要がありますので、事前にアカウントを取得する必要があります。
アカウントはアップルストアで使用できるApple IDと共通ですが、アカウント情報に日本語が入っている(特に名前)と後々面倒なことになりますので、もし実機テストまで行いたいのであれば開発用に一つアカウントを作成することをお勧めします。アカウントを新規登録する場合、各項目は全てアルファベットにした方が良いです。ただし「State/Province」の項にハイフンを使う(例えばTokyo-toとか)となぜか2桁の数字になるので注意が必要です。
- iPhone Developer Centerにログインする(アカウントが無ければ作成する)
- 「iPhone OS 2.2.1 Downloads」の項からiPhone SDKのインストーラーをダウンロードする(約1.7GB)
- DLしたインストーラーを実行してSDKをインストールする
エミュレータによるテストの方法 †
(未記入)
2:iPhone Developer Programへの参加 †
実機に自作アプリケーションをインストールしてテストするには、実機やOSに開発者の各証明書をインストールする必要があります。この証明書を取得するには「iPhone Developer Program」という有償サービスに参加する必要があります。参加費用は「99USD/年」で、支払いはApple Storeからになります。
- 年会費の99USDを支払う
- iPhone Developer Program Enrollmentに移動し、ログインします。
- ※注意:ここから先、途中でキャンセルしたりブラウザを閉じたりすると、次回アクセス時に「Thank you for submitting your enrollment.」というページが表示されて先に進めなくなったりします<自分はこれでハマった。先に進めなくなったら右下の「Contact US」からサポートに連絡すると対処してくれます(日本語OK)(参考)。ちなみに「Apple ID」と「Enrollment ID」を明記したら5分後にはリンクが書かれたHTMLメールが送られてきて先に進むことが出来ました、早っΣ(・д・;)。メールは英語と日本語のものが一通ずつ届きましたが、日本語のメールにはこの先で起こるであろうエラーに対しても対処方法が書かれていました(よっぽど再発したんだろうなぁ。じゃあいい加減直せと…)。
- 先に進むとApple Storeに飛ばされ、カートを見ると「iPhone Developer Program Standard 」が追加されています。価格は「10,800円(税込み)」でした。あとはWebストアの要領で支払いを完了させます。
- ※注意:ここでも名前を記入するところがありますが、これはiPhone Developer Centerで作成させたアカウントと一致させたほうが良いです。
- 支払い時にiPhone Developer Centerで作成したApple IDでログインした場合、そのまま先に進むとアカウントの登録情報の「県名」と「フリガナ」で跳ねられますので、それぞれ日本語で書き直します(他はローマ字でOK)。(というか同一のApple IDで「iPhone Developer Center」「Apple Store(JP)」「Apple Store(US)」のそれぞれにログインしてアカウント情報を確認すると、必ず数箇所でエラー(日本語が使えないorその逆、USではアメリカの住所しか登録できない)が 発生します。前述のエラーとかアカウント情報が統一されていないとかなんかシステムの隅っこ見るとボロボロなのが不安になります;;)
- 入金後、ActivationCodeが送られてくるのでアクティベートする
- 大体一時間後くらいにアクティベート用のリンクが書かれたHTMLメールが届きました<目安は24時間以内らしい。そのメールに書かれているリンクをクリックするとアクティベートが完了します。
- ケースによっては前述のメールに書かれたエラーが発生してアクティベーションできないことがあります。その場合はメールに書かれた指示に従って、サポートにメールします。大体2時間後くらいに「調整したので再度アクティベート用のリンクを押すように」といった旨のメールが届きます。その後、改めてアクティベートリンクを押すとアクティベートが完了します。
- アクティベートが完了するとメールが一通届きます。
- アクティベート完了後、「iPhone Developer Program」が解禁される
- アクティベート後にiPhone Developer Centerにログインすると右側(「iPhone Developer Program」の「Apply now」と書かれていた辺り)に「Program Portal」というボタンが表示されるようになります。
3:実機テストの準備(証明書の作成とインストール) †
ここも詰まりやすいプロセスが多いので注意が必要です。上手くいかなかったらこの項の最初からやり直すことをお勧めします。
1:証明書の準備とインストール †
開発者の自己証明書をIDP(iPhone Developer Program)から取得し、OSにインストールします。自己証明書を申請するにはOSのアプリケーションを使って申請書を作る必要があります。
- キーチェーンアクセスの起動と証明書申請ファイルの作成
- 「アプリケーション→ユーティリティ→キーチェーンアクセス」を起動します。
- 「キーチェーンアクセス→証明書アシスタント→認証局に証明書を要求」を選択します。ここでの記入事項は以下の通りです。
- ユーザーのメールアドレス:Apple IDで登録したメールアドレス
- コモンネーム:IDCのTermで表示される名前(重要:コモンネームはApple IDの名前ではなく99USD支払ったときに記述した名前になります。この名前はTermにも表示されます)
- CAのメールアドレス:空欄
- 要求の処理:ディスクに保存&鍵ペア情報を指定にチェック
- 続けるを押した後は保存場所は任意で、鍵のサイズは「2048」、アルゴリズムは「RSA」を選択します。
- IDPにログインして証明書申請ファイルを提出する
- IDPにログイン後、左側にある「Certificate」を選択します。
- 「Development」タブを選択してから「Add Certificate」を押すします。
- 先ほど作成した証明書申請ファイルを選択してから「Submit」ボタンを押します。
- Actionsが「Approve」になったらそれをクリックします。しばらくしてからページをリロードすると「Download」に切り替わります。
- 「Download」をクリックして証明書をダウンロードします。
- さらに上のリンクから「WWDR Intermediate Certificate」もダウンロードします。(忘れずに!)
- 入手した2つの証明書をOSにインストールする
- 登録はダウンロードした2つの証明書をそれぞれダブルクリックするだけで実行できます。
- 登録時に「キーチェーン」は「システム」を選択します。
2:デバイスIDの登録 †
後述のプロビジョニングプロファイル(これはターゲットデバイス(テストに使用する端末)にインストールされます)にはターゲットデバイスの情報も含まれます。ターゲットデバイス情報はXCodeのオーガナイザで確認します。
- ターゲットデバイスをPCと接続する
- XCodeを起動し、「ウィンドウ→オーガナイザ」を選択し、ターゲットデバイス情報の「Identifier」を控える
- IDPのメニューから「Devices」を選択する
- 「Manage」タブを選択してから「Add Device」を選択する
- 「Device Name」は任意、「Device ID」は先ほどの「Identifier」を入力します。
3:アプリケーションIDの登録 †
(App IDの役割は不明、とりあえず登録しましょう(ぉぃ)
- IDPのメニューから「App IDs」を選択する
- 「Manege」タブを選択してから「Add ID」を押す。
- 「App ID Name」は任意です。
- 「App ID」はとりあえず「*」(ワイルドカードの意)を入力しておけばOKです。
4:プロビジョニングプロファイルの作成と登録 †
プロビジョニングプロファイルには自己証明書とデバイスID、アプリケーションIDが含まれます。このファイルはターゲットデバイスにインストールされます(iPhoneであれば「設定→一般→プロファイル」で確認と削除が可能です)。基本的にこのファイルに誤りがあると実機テストを実行した時にエラーになります。
- IDPのメニューから「Provisioning」を選択
- 「Development」タブを選択してから「Add Profile」を選択する
- 「Profile Name」は任意です。
- 「Certificate」は自分のApple IDが表示されていることを確認してからチェックします。
- 「App ID」は前項で登録したアプリケーションIDを選択します。
- 「Device」は前項で登録したデバイスIDにチェックします。
- Submitを押して数分経過してから同ページをリロードするとダウンロードボタンが表示されるのでプロファイルをダウンロードする
- PCにターゲットデバイスを接続し、XCodeを起動後「ウィンドウ→オーガナイザ」を選択する
- 接続中のデバイスを選択し、「Provisioning」の項目で「+」を押してプロファイルを選択する
- プロビジョニングプロファイルが正常であればターゲットデバイスにインストールされる
4:実機テストの実行 †
以上の準備が完了したら実機テストを行います。
- PCとターゲットデバイス(プロビジョニングプロファイルインストール済み)を接続する
- 任意のプロジェクトを開く
- XCodeで開かれたプロジェクトの左側のメニューの「ターゲット」の項からプロジェクトをダブルクリックして「情報」を開く
- 「ビルド」タブ内、「コード署名ID→Any iPhone OS Device」の値を「iPhone Developer: (ユーザー名)」に設定する
- 「アクティブSDK」が「Device」に属するものを選択し、「ビルドして実行」を実行する
- 初めての場合は証明書を使用するかと聞かれるので「常に使用する」を選択します。
- 成功すると実機テストが開始される
- ここで「0xE8000001」や「0xE800003A」といったエラーが表示される場合はプロビジョニングプロファイルが正常に作成されていない、もしくはXCodeがプロビジョニングプロファイルを正常に認識していない(参考ページ)と推測されます。
おまけ(?)情報 †
実機テストですが自分も例に漏れず一発では実行できず、色々いじりまわしていたら通るようになりました。ですが、そこで気になったのが「iPhone Developer Centerで作成したアカウントのユーザー名」と「iPhone Developer ProgramのTermに表示されるユーザー名(これは99USDを支払う時に記入する名前。基本的にはアカウントのユーザー名がデフォルトになっているが、入金時に変更することができる)」が違っているとうまくいかなかったりするかもしれません。<自分は不覚にも99USDを支払うときに性の最後の母音を付け足してしまいました
本当にこれが原因であるかは分からなかったのですが、とりあえずユーザーサポートに「この情報(名前)が不一致なので実機テストができない。これらの名前を一致するようにして欲しい。」と(確証が無いのに)メールを送ったら1時間後くらいに「本国に連絡するから連絡を待ってくれ」という返事が返ってきました。さらに2~3時間後にTermを確認したら(連絡がきてないのに)Termの方のユーザー名が変更されていました(いいのか;;)。
その後、一からプロビジョニングプロファイルを作成したら無事に実機テストができるようになりました。
結局これが原因だったのかははっきりしていないのですが、念のためユーザー名は一致させておく方が無難だと思います。
参考リンク †
開発環境構築関係 †
プログラミング関係 †