🐕

古いMacから新しいMacへ鍵付き証明書を持ってくる

に公開

起きたこと

新しいMacでアプリをビルドしようとしたところ、次のエラーが出ました。

Revoke certificate
Your account already has an Apple Development signing certificate for this machine, but its private key is not installed in your keychain. Xcode can create a new one after revoking your existing certificate.
あなたのアカウントには、このマシン用のApple Developmentの署名証明書がすでにありますが、その秘密鍵がキーチェーンにインストールされていません。Xcodeは、既存の証明書を失効させた後、新しい証明書を作成することができます。

つまり、

  • アプリ開発に必要な証明書は存在する
  • しかし、証明書に紐づく秘密鍵が見つからない

ということみたいです。
鍵がついていない証明書だと、アプリをビルドできません。
なので、古いMacから新しいMacへ証明書と秘密鍵をセットで持ってくれば解決しそうです。

対処方法

Step1. 古いMacで証明書+秘密鍵を書き出す

まず、古いMacで「キーチェーンアクセス.app」を開きます。

秘密鍵を選択していることを確認したら、右クリックから書き出します。

秘密鍵は、適当な名前をつけて保存しておきます。

次に、適当なパスワードを入力し「OK」をクリックします。

古いMacで秘密鍵を削除するか聞かれますが、「キャンセル」を押します。

Step2. 新しいMacで読み込む

あとは、新しいMacで先ほど書き出した.p12ファイルをダブルクリックし、キーチェーンアクセスへ読み込めば、問題が解決します。

参考文献

複数のMacでiPhone(iOS)アプリの開発を行うときの注意点 | OPTPiX Labs Blog
iOS, Certificate 証明書を作ってみる
p12ファイルことPKCS #12の証明書ファイルに関してざっくりまとめる - コード日進月歩

Discussion