web-dev-qa-db-ja.com

Xcode 4-削除したキーチェーン証明書を再インストールします

このエラーが発生しています:

CodeSignエラー:証明書ID「iPhone Developer:XXX」がキーチェーンに複数回表示されます。 codesignツールでは、1つだけが必要です。

最初は気にせず、キーチェーンに入り、重複した(古い)キーチェーンを削除します。私は戻って、Xcodeを閉じ、Xcodeとプロジェクトを再び開きました。同じエラーです。 wtf私は自分自身にも。キーチェーンに戻ると、証明書が再びあります。両方の証明書を削除し、繰り返し、プロジェクトがロードされると、削除した2つの証明書がキ​​ーチェーンに戻ります。

何度も検索した結果、システムキーチェーンに証明書がないことを確認しましたが、証明書はありませんでした。また、クリーンと再構築を行いました。 Xcode 3で複製ができたとき、キーチェーンの複製をクリーンアップするだけで良かったです。しかし、Xcode 4では、プロジェクトを開いたときに文字通り何らかの形で再インストールするだけです。システムからすべての.cerファイルを削除したので、それらのファイルがプルされている可能性があります。

助言がありますか?

85
Codezy

解決策は、オーガナイザー(ライブラリー下)にプロファイルをプロビジョニングし、それらをすべて削除してから、必要なプロファイルを再インストールすることでした。

103
Codezy

私はこれと同じ問題を抱えており、上記の解決策は私の問題を解決しませんでした(ほぼ)。

誰もが不平を言っているのと同じ重複した開発者ID /証明書があり、すべてのプロファイルを削除し、証明書を取り消し/再発行し、システムキーチェーンにないことを確認し、再起動などを試みました。

結局、そこに判明したのはwasシステムのキーチェーンにある証明書で、expiredであったため、デフォルトではリストに隠されていた証明書です。

KeyChainで期限切れの証明書を確認できることを確認してください

これをする:

  1. オープンキーチェーンアクセス
  2. Viewメニューをクリックします
  3. 期限切れの証明書を表示をクリックします
  4. その後期限切れの開発者証明書を探して削除します
33
Jagu

Xcode 4には、「自動デバイスプロビジョニング」という新機能があります。オーガナイザーのライブラリ/プロビジョニングプロファイルの下にあります。これを有効にすると、プロビジョニングプロファイルがApple開発者プロビジョニングサーバーから自動的にダウンロードされるため、重複するエラーが発生します。これを修正する最も簡単な方法は、すべてのプロビジョニングプロファイルを削除し、 [自動デバイスプロビジョニング]の更新ボタンを押すと、サーバーからプロビジョニングプロファイルが読み込まれ、問題が修正されます。

11
Cyprian

期限切れの証明書を削除するためにキーチェーンアクセスを台無しにしたい場合は、これを試してください:

  • 新しいキーチェーンを作成し、「expired」という名前を付けて移動します[〜#〜] only [〜#〜]期限切れの証明書に移動します。
  • [〜#〜] only [〜#〜]を含む新しく作成された「期限切れ」キーチェーンを削除します。「参照とファイルの削除」を選択するように求められたら、.

期限切れの証明書はキーチェーンとともに消えます。私にとって完璧に働いた。

7
felis
  1. XCodeオーガナイザーからすべてのプロビジョニングプロファイルを削除します。
  2. キーチェーンアクセスから古い開発者証明書を削除します。
  3. 正しい開発者証明書のみでプロビジョニングプロファイルを生成します。
  4. 新しいプロビジョニングプロファイルをダウンロードしてインストールします。

-編集-

@Codezyの回答と@ iphone007のコメントをマージします。

6
iwill

私はこれに半日費やし、最終的に解決策を見つけました

  1. KeyChain Access.appを開きます
  2. キーチェーンアプリケーション画面の左側の「キーチェーン」メニューで「システム」を選択します
  3. [カテゴリ]ダウンメニューで[証明書]を選択します
  4. 古い認定をすべて削除します。

次に、Keychain.appを閉じて、Xcode-> Organizerに移動します

  1. [ライブラリ]メニューのすべてのプロビジョニングプロファイルを削除する
  2. [デバイス]メニューのすべてのプロビジョニングプロファイルを削除する
  3. [ライブラリ]メニューの[更新]ボタンを押します->プロビジョニングプロファイル
  4. 必要なプロファイルをデバイスに追加します

アプリを再構築します:)

2
Stan

オーガナイザーのライブラリでプロビジョニングプロファイルを削除し、さらに、キーチェーンアクセスでiPhone開発者証明書を削除する必要があります。 (証明書の名前は、おそらく「iPhone Developer:XXXXX ...」のようなものであり、期限切れとして赤いX記号で示されます)

2
Kenial

ここで提案されたすべてを試しましたが、XCode 4.3を再インストールすることで魔法のように解決された以外は何も機能しませんでした。

1
nh7a

後世のために、自動ビルドスクリプトでこの問題を回避するための戦略を次に示します。

  1. ビルドする前に、〜/ Library/MobileDevices/Provisioning Profilesディレクトリを脇に移動します
  2. iPhone Configuration Utilityが実行されているかどうかを確認して閉じます(このアプリが開いている場合、証明書は常に再表示されます。XCode4.1では、オーガナイザーも閉じる必要があります)。
  3. ビルドを実行
  4. プロビジョニングプロファイルディレクトリを戻す
  5. 利益?
1
Bryan

4.6.1でこれを修正する非常に簡単な方法を見つけました。何も再起動したり、プロファイルを削除したりせずに実行できます!

キーチェーンアクセスとXcodeプロジェクトを開いた状態で:

  1. Xcodeで、オーガナイザー-「デバイス」を開き、証明書が重複している「チーム」を選択します。
  2. キーチェーンアクセスに切り替えて、古い重複証明書を削除します。注:いずれかを見逃さないように、「期限切れの証明書を表示する」をオンにしてください。
  3. Xcodeオーガナイザーの「チーム」プロファイルから証明書が消えます。
  4. プロジェクトをきれいにしてビルドします。

それが役に立てば幸い!

1
John Caplinger

@AndreasPrang、それが価値があるものについては、上記のすべてがうまくいかなかったときにあなたの答えは働いた。期限切れの証明書はキーチェーンのどこにもないことがわかりましたが、ビルドを行ったとき、Xcodeはそうでしたと言いました。プロビジョニングプロファイル(すべて)を削除し、[チーム]セクションで自分の名前を選択し、オーガナイザーの右下にある更新アイコンをクリックしても解決しませんでした。 Xcodeを再起動しても解決しませんでしたが、XCodeをシャットダウンし、〜/ Library/Developer/Xcodeを削除しました。 XCodeを再起動すると、すべてが再構築され、満足しました。

0
fporcaro

Xcodeが証明書をインストールし続けるもう1つの理由は、キーを削除せず、証明書のみを削除したためです。秘密鍵(および対応する公開鍵)とキーチェーン内の証明書を削除する必要があります。削除しないと、xcodeは証明書を再インストールします。

ここを確認してください キーチェーンから開発および配布証明書を削除するには

0
Qiulang

この質問の重複への回答を引用すると、この領域のXcodeのバグの一部OS Xを再起動することによってのみ解決できます

最終的に、この質問に対する回答のいずれかに記載されているものをすべて削除し、再起動して、必要な部分を手動でインストールすることで成功しました(自動プロファイル/証明書のダウンロード機能を信頼していませんでした)。

0
Abhi Beckert

上記の方法は私の場合はうまくいきません

最後に、キーチェーンに行きます

名前を入力してキーを検索します

私は最終的に以前に削除されることになっている証明書を見つけました。それから私はそれを削除し、問題は解決しました

本当にイライラするし、それがバグなのかどうかもわからない.......本当に疲れる。

0
chings228

Xcode 4.6.1をインストールして、この問題が再び発生し始めました。前回は久しぶりでした。古いプロビジョニングプロファイルと証明書を削除しましたが、ビルドできませんでした。

今回は、開発者ポータルのチームアカウントに2つの証明書がリストされていることがわかりました。最初のものは期限切れで、2番目のものは期限切れではありませんでした。 Xcodeは、更新中に最初に見つかったもの(またはその両方)を取得し続けました。

キーチェーンから両方の証明書を削除し、Appleのポータルから適切な証明書を手動でダウンロードし、キーチェーンに手動で追加しました。これで再びビルドできます。

(そして、古い証明書を削除するリクエストをチーム管理者に送信しました。)

0
Walt Sellers