🐕

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

2020/10/18に公開

起きたこと

新しい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