2012年11月17日

複数台のMacintoshでiOS Developer Programの証明書を共有する

 iOS Developer Programの複数のアカウントは、1台のMacintoshで共有できる。それぞれのアカウントで証明書要求ファイルを書き出し、iOS Developer ProgramのCertificatesで証明書要求ファイルを読み込んで、開発用のプロファイルとアプリプロファイルを読み込めばよい。複数アカウントのプロファイルを読み込むと、それぞれのプロファイルがOrganizerにいっぺんに表示されてしまうが、混在は難しくない。

  基本的にiOS Developer Programからダウンロードしたプロファイルは、キーチェーンアクセスにそれに対応する秘密鍵があれば開くので、複数の秘密鍵を持っていても使い分けは可能だ。ただし、トラブルがあったときは、問題点を探すときにいろいろと証明書関係のファイルを触ってしまうことがある。トラブルがあったときは、シングルアカウント環境でアプリをビルドしたいこともある。プロジェクトファイルをシングルアカウント環境で開く方が、問題点を探りやすいからである。

 キーチェーンにある証明書関係のファイルは

証明書要求ファイル名の公開鍵
証明書要求ファイル名の秘密鍵
iPhone Developer:iOS Developer Programのアカウント
iPhone Distribution:iOS Developer Programのアカウント


だけである。証明書を作成し直したりすると、「iPhone Developer:」や「iPhone Distribution:」が複数生成されることがある。その場合は古い方を消しておかないとビルドでエラーが発生する。

 プロファイルはXcodeのOrganizerで管理する。iOS Developer ProgramのDistribution Provisioning Profilesで「Expired」とか「Invalid」になっていると、ダウンロードすると

Expired → Profile has expird 赤いエラー
Invalid → Valid signing identity not found 黄色いアラート


となってしまう。いずれを選択してもビルドできないのでOrganizerから削除しておく。OrganizerのProvisioning Profilesではプロファイルがすべて「Valid Profile」になっている必要がある。また、古い認証のままProvisioning Profilesがあると「iPhone Distribution:」も古いものがもう一度インストールされるので、キーチェーンから削除しておく。

 オリジナルの認証環境から秘密鍵を書き出す。公開鍵はアップルがプロファイルを作成するときに使うので、Xcode上では不要だ。プロファイルは秘密鍵があれば開くことが可能なので、秘密鍵だけを書き出す。書き出しはキーチェーンアクセスから行う。

 秘密鍵を書き出すポイントは、キーチェーンアクセスの[分類]にある。[分類]の「すべての項目」で選択して書き出すと、書き出し先で読み込めない。[分類]で「証明書」を選択して秘密鍵を書き出す。「iPhone Developer:」と「iPhone Distribution:」でもどちらでもかまわない。名前をつけて[フォーマット]で「個人情報交換(.p12)」を選択する。

121117-01.gif
*コンテキストメニュー(右ボタン)から書き出す。

   ↓

121117-02.gif
*[フォーマット]で「個人情報交換(.p12)」を選択する
   ↓

121117-03.gif
*書き出した鍵は悪用されないようにパスワードを設定する。パスワードは設定しなくても、キーチェーンアクセスに読み込み可能。
   ↓

121117-04.gif
*Macintoshに割り当てたアカウントのパスワードを入力する移行先のキーチェーンアクセスにもインストールするときも必要。


 作成した証明書ファイルを、別のMacintoshに持っていきダブルクリックすると秘密鍵がキーチェーンアクセスに読み込まれる。秘密鍵の名前は任意の文字列になっているが、ダブルクリックするとキーの名前は変更できる。

 秘密鍵を読み込んだら、XcodeのOrganizerを起動してProvisioning Profilesを表示して[Refresh]する。Apple IDでログインする。そうすると、iOS Developer ProgramにあるProvisioning Profilesが開発用も申請用もすべてダウンロードされる。不要なプロファイルがあれば削除しておこう。

121117-05.gif
*OrganizerでProvisioning Profilesを表示して[Refresh]する。

   ↓

121117-06.gif
*開発用も申請用もすべてのプロファイルが読み込まれる。「Expired」と「Invalid」のファイルは削除しておく。キーチェーンに確認して、古い証明書があれば削除しておく。

   ↓

121117-07.gif
*「Valid Profile」だけにになったOrganizerのProvisioning Profilesパネル。

 あとはXcodeでプロジェクトファイルを開いて、開発用と申請用のプロファイルを割り当ててアプリをビルドすればよい。アプリのビルド時にとくに証明書関係でトラブったときは、秘密鍵を書き出して別のマシンのXcodeで必要なファイルのみにしてビルドするのは近道ではないか。もっともXcodeが動作するMacintoshがもう一台必要なるのがネックかもしれない。


◆Xcode4.3.1を使って2台目のMacでiPhoneアプリ開発をする方法
http://d.hatena.ne.jp/paraches/20120314

◆Keychain Accessから秘密鍵を書き出すときに、「エラーが発生しました。項目を読み込めません。」と表示されたときの対処法
http://akisute.com/2009/06/keychain-access.html


◆Xcode 4でする実機インストールの動画チュートリアルをアップ
http://bit.ly/JEofvK

◆Xcode 4でiOSアプリの設定と申請を最短距離でする方法
http://bit.ly/Jk88Bc

◆SakuttoBook(サクッとブック)でiPhoneアプリを作る方法
http://bit.ly/mhgjCG

◆Xcode 4対応のSakuttoBook Trial版、無料ダウンロード開始
http://denshi-shoseki.seesaa.net/article/263470895.html




 


posted by @jink0222 at 20:53 | Comment(0) | TrackBack(0) | SakuttoBook日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック