基本的に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)」を選択する。

*コンテキストメニュー(右ボタン)から書き出す。
↓

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

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

*Macintoshに割り当てたアカウントのパスワードを入力する。移行先のキーチェーンアクセスにもインストールするときも必要。
作成した証明書ファイルを、別のMacintoshに持っていきダブルクリックすると秘密鍵がキーチェーンアクセスに読み込まれる。秘密鍵の名前は任意の文字列になっているが、ダブルクリックするとキーの名前は変更できる。
秘密鍵を読み込んだら、XcodeのOrganizerを起動してProvisioning Profilesを表示して[Refresh]する。Apple IDでログインする。そうすると、iOS Developer ProgramにあるProvisioning Profilesが開発用も申請用もすべてダウンロードされる。不要なプロファイルがあれば削除しておこう。

*OrganizerでProvisioning Profilesを表示して[Refresh]する。
↓

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

*「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

【SakuttoBook日記の最新記事】
- iOS 8、Xcode 5.1.1でSa..
- 2.21リジェクト顛末記2−ストアアプリ..
- 2.21リジェクト顛末記1−Sakutt..
- SakuttoBookだけでするWebの..
- 法人向けD-U-N-S Numberを無..
- 日本語版iBookstoreローンチで始..
- 立川談幸師のグリム童話をSakuttoB..
- iOS 6から厳格になったiCloudの..
- Xcode4.5で必要になったiPhon..
- Xcode 4.5とiOSシミュレータ ..
- iOSアプリ内課金、リストア機能なしはな..
- SakuttoBook、PDFのユニバー..
- アプリ内課金を回避するエクスプロイトの衝..
- iOSシミュレータと実機のキャッシュを殺..
- アプリ内課金の仕組み 2 アプリ内課金は..
- アプリ内課金の仕組み 1 アプリ内課金ア..
- SakuttoBookユニバーサル版検証..
- SakuttoBookより安い儲かるiP..
- Lionへのアップデートを誘うiOS 5..
- Xcode 4でする実機インストールの動..