アクティベーション後の登録作業記録 証明書作成〜実機デバッグまで


さて、アクティベーションも無事完了したので、続けて証明書等の諸々の登録作業を行う。
ググって参考になるサイト等を見ながら、以下の作業を実施したので記録しておく。

 

証明書を作成
Macにてキーチェーンアクセス(どこから起動するのか分からなかったのでSpotlightで検索した)を起動。
メニューから「キーチェーンアクセス」→「証明書アシスタント」→「認証局に証明を要求」を選択。
入力内容/選択内容は以下の通り。
・メールアドレス:iPhone Developer Program(以下 IDP)で登録したメールアドレスを入力。
・通称:IDPで登録した名前(英語で)を入力。
・CAのメールアドレス:入力しなくてよい(空欄のまま)。
・要求の処理:ディスクに保存を選択。鍵ペア情報を指定をチェック。
ここまで終わったら、続けるボタンを押下し、保存場所を選択する。
次に鍵ペア情報を聞かれるので、鍵のサイズ : 2048ビット、アルゴリズム : RSAになっていなければこのように指定する。
続けるボタンを押すとSAVEされる。

 

証明書の登録
次はIDPへログインし、上記で作成した証明書を登録する。
IDPの左側のメニューの「Certificates」をクリック。
Developmentタブの右側のボタン「Request Certificate」をクリック。
移動先のページの下部にファイル選択ボタンがあるので、先程保存した証明書を選択し、右側のSubmitボタンを押下。
するとDevelopmentタブのページに戻る。
「Approve」ボタンが出現しているので押下。
証明書がDLできるまでしばらく時間がかかるので、その間にこのページの下部にある「WWDR intermediate certificate installed」という行のリンクを踏んで、この証明書もDLしておく。
数分後、Developmentタブを押下すると、「Download」ボタンが先程押下したボタンと同じ位置に出現するので、証明書をDLする。

 

証明書のシステムへの登録
DLした2つの証明書をそれぞれダブルクリックすると、キーチェーンアクセスが起動され、システム(Mac)へ登録される。

 

実機テストで使用するiPhone/iPod Touchの登録
IDPの左側のメニューの「Devices」をクリック。
Manageタブの「Add Devices」ボタンを押下する。
Add Devices画面が開くので、下記の情報を入力。

Device Name:適当な名前でOK。

Device ID (40 hex characters):以下の手順でIDを参照し、その値を入力。
・iPhone を開発機に接続した状態で XCode を起動する。
・メニューから「ウィンドウ」→「オーガナイザ」より左側メニューのDevicesのiPhoneをクリック。すると実機の情報が表示されるので、「Identifier」の部分が「Device ID」となる。
入力したら、ページ下部にある「Submit」ボタンを押下する。

 

App IDs(*1)の登録
IDPの左側のメニューの「App ID」をクリック。
Manageタブの右上にある「New App ID」ボタンを押下する。

Create App ID画面が表示されるので、下記の情報を入力。

Description:適当でOK。
Bundle Seed ID (App ID Prefix):最初の時は「Generate New」しか選択できないので、そのまま。
Bundle Identifier (App ID Suffix):設定例では「com.domainname.appname」となっています。
ググってみると文字列の最後が「*」であればOKだそうですが、文字+*(例:test*)でもエラー(エラーコード:0xE80003A)になるそうです。
「*」だけにした方もいらっしゃいました。
とりあえず、自分は「jp.co.XXXXX.*」にしてみました。
で、Submitボタン押下。

 

Provisioning Profileの登録
IDPの左側のメニューの「Provisioning」をクリック。
Developmentタブの右側の「New Profile」ボタンをを押下する。
Create iPhone Development Provisioning Profile画面が表示されるので、以下の情報を入力。

Profile Name :何でもOKのようです。

Certificates:自分の証明書だけだと思うので1つだけ表示されていると思いますのでチェック。
App ID:先程、登録したApp IDを選択。
Devices:実機登録されているものが表示されているので(自分の場合は1つ)、チェック。
で、Submit。
ちょっと待ってからリロード等するとDevelopment Provisioning Profiles画面に「Download」ボタンが表示される。
Status欄が「Active」になった事を確認して、Provisioning ProfileをDLする。

 

Provisioning Profileの設定
MacにiPhoneを接続してXCodeを起動後、メニューから「ウィンドウ」→「オーガナイザ」を選択。
先程、XCodeを起動した時と同様に接続した実機を左側メニューより選択。
中央に「Use for Development」(だったと思う)ボタンがあるので押下。
すると、Provisioningを追加/削除する欄が表示されるので、DLしたProvisioning Profileを追加(登録)する。

ここから先は、プロジェクトに結びつけてデバッグ等する手順になります。

とりあえず、サンプルコードのプロジェクトを使います。
プロジェクトを開き、メニューから「プロジェクト」→「プロジェクト設定を編集」を選択。
ビルドを選択し、「Code Signing」の「コード署名ID」の「Any iPhone OS Device」の「値」の欄を設定する。
(これまでの設定が正しく出来ていれば、クリックする事でプルダウンで選択可能となっているはず)

 

せっかくなので、サンプルコードを実機でテストしてみる。
Xcode のプロジェクト画面のアクティブ SDK が Device – < OS version> ( プロジェクト設定 ) になっている事を確認した上でビルド。
そしたら、エラーが。。。ええー!

Code Sign error: Provisioning profile ‘[プロファイル名]‘ specifies

the Application Identifier ‘[App ID 作成時に設定したBandle Identifier]‘ which dosn’t match the current setting ‘[プロジェクトに設定された Bandle Identifier]‘

調べてみたら、info.plistの「Bandle Identifier」をApp IDsで設定したBundle Identifier(jp.coXXXX.〜(〜は元から設定されている値のまま。.〜より前がBundle Identifier)) に修正。

そしたら無事にiPhoneへアプリがインスコされました。
実機でも無事動かせました。

いや〜かなり手間ですな。こりゃ。。。

この作業で参考にさせて頂いた方々(リンク貼ってないサイト含む)のおかげで実機デバッグまでの登録/手順が分かりました。ホント助かりました。ありがとうございます。
しかし、全て英語で書かれるとツラいですなぁ。。。
翻訳しようと頑張っても、自分の英語力ではホントに合っているか不安です。
Appleがもっとこういった箇所にも多言語対応してくれると安心して登録作業やドキュメント調べる事もできるんですけどねぇ。
ちと敷居を高めてると思っちゃうんですけど。
ま、英語勉強汁!って事ですね。そうですねw

 

画像なしで見づらい記事になってしまった。
読んでくださる方には申し訳ないですが、作業しながら記事書くので精一杯でした。
ググれば画像つきで説明されているサイト様があるので、参照してください。
ちなみに、参考にしたサイトでの画像と実際とでは微妙に異なるのもありました。

  

※1 App IDについては良く分からなかったので
【訂正】App IDについてちょっと意訳した | プログラムのプの字も知らねぇ
App ID’s とアプリケーションのインストールについて | It_lives_vainlyの日記
を参照してください。

 

追記:サンプルコードはもとまかさんチュートリアルのじゃんけんゲームを使わさせて頂きました。この場を借りて御礼を申し上げます。

この記事を読んだ人はこんな記事もよんでいます。