2011/04/29: 2台目以降のMacで実機テストをする方法
2台目以降のMacで実機テストできるように証明書などの設定をしていて、表題のエラーが出てきてハマってしまったので、その解決方法を書いておきます。
ちなみに、オーガナイザーで出たエラーはこんなものでした。
xcode could not find a valid private key / certificate pair for this profile in your keychain.
プロビジョニングファイルのStatusに Valid signing identity not found
1台目の認証の仕方は、いろんなサイトで紹介されていますが、2台目のことはあまり書かれていない。
結論を先に書くと、1つのApple IDで、2台目以降のパソコンで Xcodeの実機確認のための認証をするためには、1台目で作った証明書を使う必要がある(っぽい)ので、1台目のMacの証明書を書き出して、それを2台目にインストールする必要があるのです。
そのため、多くのサイトで紹介されているような、「キーチェーンアクセス」>「証明書アシスタント」>「認証局に証明書を要求」から証明書要求を書き出す作業や、その証明書要求ファイルをADCにアップロードする作業は必要ありません。(1台目で証明書は既に作成しているため)
このステップの代わりに必要なのは、1台目のキーチェーンアクセスに入っている証明書要求の秘密鍵(Apple IDの「名 姓」というファイル名のもの)を書き出して、書き出したファイルを2台目にインストールする作業です。
以下では、書き出す作業の流れを説明しています。
1)
1台目のMacでキーチェーンアクセスを立ち上げ、左の「分類」ペインから「鍵」を選択、証明書要求の秘密鍵のファイル(選択すると、秘密鍵,RSA,2048-bitなどと出る)を右クリックして、"(Apple IDの「名 姓」)"を書き出すというメニューを選択します。
2)
フォーマットは、「個人情報交換(.p12)」を選択、ファイル名は何でもOK。「保存」を押します。
パスワードの設定を求められますが、何も入力しなくてもOKです。セキュリティ的に何か設定しておいた方が良いと思いますが、面倒な人は何も入力しないというのでいいと思います。「OK」ボタンを押すと、「.p12」のファイルが書き出されます。
3)
書き出した .p12 ファイルを、2台目のMacに送って、ダブルクリックをすれば、無事秘密鍵の複製が完了です。おそらくこの作業が終われば、上記のようなエラーは発生しなくなるかと思います。
残りの、プロビジョニングファイルのインストールや、iPhone実機の登録方法などは、1台目のときと変わりません。
これは私の仮説ですが、2台目以降の認証要求の鍵に1台目のものを使う必要があるのは、秘密鍵を生成するときに、ランダムに生成された鍵を利用しており、仮に2台目で新しい認証要求の鍵を作ったとしても、ADCに登録されている証明書に埋め込まれている1台目で生成した鍵と一致しないためだからかもしれません。
解決に1日ぐらいかかったので、他の人のお役に立てれば嬉しいです。
stack overflow のサイトで、似たようなエントリーがあり、
The error "XCode could not find a valid private-key/certificate pair for this profile in your keychain." means you don't have the private key.
Maybe because your Mac was reinstalled, maybe because this key was generated on another Mac. So to be able to use your certificates, you need to find this key and install it on the keychain.
などと書いてあったので、そういうことかなと思いました。
トラックバックURL
ちなみに、オーガナイザーで出たエラーはこんなものでした。
xcode could not find a valid private key / certificate pair for this profile in your keychain.
プロビジョニングファイルのStatusに Valid signing identity not found
1台目の認証の仕方は、いろんなサイトで紹介されていますが、2台目のことはあまり書かれていない。
結論を先に書くと、1つのApple IDで、2台目以降のパソコンで Xcodeの実機確認のための認証をするためには、1台目で作った証明書を使う必要がある(っぽい)ので、1台目のMacの証明書を書き出して、それを2台目にインストールする必要があるのです。
そのため、多くのサイトで紹介されているような、「キーチェーンアクセス」>「証明書アシスタント」>「認証局に証明書を要求」から証明書要求を書き出す作業や、その証明書要求ファイルをADCにアップロードする作業は必要ありません。(1台目で証明書は既に作成しているため)
このステップの代わりに必要なのは、1台目のキーチェーンアクセスに入っている証明書要求の秘密鍵(Apple IDの「名 姓」というファイル名のもの)を書き出して、書き出したファイルを2台目にインストールする作業です。
以下では、書き出す作業の流れを説明しています。
1)
1台目のMacでキーチェーンアクセスを立ち上げ、左の「分類」ペインから「鍵」を選択、証明書要求の秘密鍵のファイル(選択すると、秘密鍵,RSA,2048-bitなどと出る)を右クリックして、"(Apple IDの「名 姓」)"を書き出すというメニューを選択します。
2)
フォーマットは、「個人情報交換(.p12)」を選択、ファイル名は何でもOK。「保存」を押します。
パスワードの設定を求められますが、何も入力しなくてもOKです。セキュリティ的に何か設定しておいた方が良いと思いますが、面倒な人は何も入力しないというのでいいと思います。「OK」ボタンを押すと、「.p12」のファイルが書き出されます。
3)
書き出した .p12 ファイルを、2台目のMacに送って、ダブルクリックをすれば、無事秘密鍵の複製が完了です。おそらくこの作業が終われば、上記のようなエラーは発生しなくなるかと思います。
残りの、プロビジョニングファイルのインストールや、iPhone実機の登録方法などは、1台目のときと変わりません。
これは私の仮説ですが、2台目以降の認証要求の鍵に1台目のものを使う必要があるのは、秘密鍵を生成するときに、ランダムに生成された鍵を利用しており、仮に2台目で新しい認証要求の鍵を作ったとしても、ADCに登録されている証明書に埋め込まれている1台目で生成した鍵と一致しないためだからかもしれません。
解決に1日ぐらいかかったので、他の人のお役に立てれば嬉しいです。
stack overflow のサイトで、似たようなエントリーがあり、
The error "XCode could not find a valid private-key/certificate pair for this profile in your keychain." means you don't have the private key.
Maybe because your Mac was reinstalled, maybe because this key was generated on another Mac. So to be able to use your certificates, you need to find this key and install it on the keychain.
などと書いてあったので、そういうことかなと思いました。
dujapon : 2011/11/12 - 11:41:15