回答:
私は同じ問題を抱えていました。修正されました。アプリを送信し、アプリに署名するための証明書をいくつかインストールした後です。
クイックフィックス:KEYCHAIN ACCESSを開き、[MY CERTIFICATES]をクリックします。iPhone開発者:が表示されます。あなたはおそらくそれを2回見るでしょう!有効期限が最も早いものを選択し、右クリックして[削除]を選択します。
まだの場合はXcodeを再起動します。現在動作します。:)
ハッピーコーディング。
単純な削除が機能しない理由を理解したと思います。開発証明書はまだプロビジョニングプロファイルに保存されているため、キーチェーンで証明書を削除した後にXcodeを閉じる/再度開くと、古い証明書が返されるのがわかりました。もう一度削除します。出来た。
単純なプロファイル削除ソリューションは私にとってはうまくいきませんでした。
私はこの同じ問題に苦労してかなりの時間を費やしました。それを修正するためのすべての試みの後、私は最終的にそれがXcodeのバグであることを理解するようになりました。この投稿は私にそれを修正する手がかりを与えました: 証明書があなたのキーチェーンに魔法のように再表示されます
私の場合、一致する秘密キーはシステムキーチェーン内にあり、自分の名前が記載されていました(プロビジョニング用かどうかはわかりません)。そうしなければならなかった:
興味深い所見として、証明書を削除しても、関連付けられている秘密鍵は削除されません。視覚的には、証明書の下に秘密鍵が表示されます。だまされてはいけません。
幸運を!
わかりました、別の「関連する」質問の答えを見つけました。 Xcodeの期限切れの証明書の問題 Xcode 4の既知の問題 http://openradar.appspot.com/9173280
iOS DeveloperおよびEnterprise iOS Developerプログラムのメンバーで、両方のアプリケーションに同じ会社名を入力した場合、同じ名前の2つの有効な配布証明書が作成されます。
私はこの質問がその状況に対処していると思います: 開発者とエンタープライズディストリビューション間のCodeSign衝突
xcode45-DP1でも同じ問題があります。これは私にとってはうまくいきます:
アカウントに関連するすべての証明書をキーチェーンから削除します。QUITキーホルダー
xcode:organizer:device:Library:provisioningプロファイルから、アカウントに関連するすべてのプロビジョニングプロファイルを削除します。QUIT xcode
証明書を取り消して再生成し、ビルドマシンにダウンロードします
プロビジョニングプロファイルをダウンロードする前に、ダウンロードボタンの横にある[ 編集 ]をクリックして、名前が選択されていることを確認します。
次に、プロビジョニングプロファイルをダウンロードします。
証明書をダブルクリックしてキーチェーンにインストールします
プロビジョニングプロファイルをxcode:organizer:device:Library:provisioningプロファイルにドラッグします
xcodeの更新ボタンをクリックしないでください。
ビルドを行います。
キーチェーンにゾンビ証明書が再入力され、証明書IDが2回表示されるという問題がありました。重複する証明書を削除するだけでは機能しませんでした。
Xcodeで、ターゲットのコード署名を調べたところ、「アドホック」ビルドと「リリース」ビルドでは異なる配布プロファイルがあったことを思い出しました。
新しい証明書を生成したとき、アドホックビルド用の新しいプロファイルのみをダウンロードしました。リリースビルド用ではありません。
Xcodeは両方のプロファイルの証明書にぶら下がっていたため、Xcodeが原因で証明書が重複していました...プロファイルを適切に更新するのを忘れたためです。
すべてのプロビジョニングプロファイルを新しい証明書に更新し、すべてのプロファイルをXcodeで同時に変更してください。
私の場合、Xcodeが見ていた「キャッシュ」は、接続されたiOSデバイスでした。これが問題であるかどうかを判断するには:
これが根本的な原因である場合は、Xcodeを起動する前にiOSデバイスの接続を確実に解除することで回避できます。
冗長な証明書を削除するだけではうまくいきませんでした。xcodebuildが呼び出されるたびに、どこかキャッシュからキーチェーンの証明書を「再作成」しているようです... aviと同じ問題です。ハック/修正を作成し、ファイルがキャッシュされている場所を見つけようとしましたそしてそれをクリアしましたが、運がありませんでした。結局、私にとってうまくいったこと(少しハックはありますが、他に何ができるか)は、証明書番号が何であるかを理解し、xcodebuildが呼び出された直後にキーチェーンから手動でそれを削除することでした。最初に、/ usr / bin /ディレクトリ(または、xcodebuildファイルのあるディレクトリであれば、which xcodebuild
)に移動して、次のコマンドを実行します。
sudo mv xcodebuild xcodebuild_actual
次に、次のコードを使用して、お気に入りのエディター(sudoを忘れないでください)を使用してファイルを作成します。
xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E
注:パスワードを入力しなくてもこの特定のコマンドを実行できるようにするには、sudoersファイルを変更する必要があります。
上記の-Zの後の16進数のIDを、問題のゾンビ証明書の16進数のIDに置き換えます。最後に、xcodebuildファイルが実行可能であることを確認します。
sudo chmod 755 xcodebuild
これで、キーチェーンを開いてビルドコマンドを実行し、問題のゾンビ証明書が復活する様子を観察し、コード署名の問題になる前に要約してショットガンできます。うまくいけば、Appleはこれに対する本当の修正を思い付くでしょう。
不要になった証明書のキーチェーンにある秘密キーの1つを削除しました。
証明書は再表示されますが、秘密キーは再表示されません。有効な証明書を確認すると、証明書が1つだけ表示され、秘密鍵が削除された他の証明書は有効な証明書の下に表示されなくなります。
これがこの問題を解決する最も簡単な方法だと思います。
私は同じ問題を一度扱っていました。また、xcodeの[オーガナイザー]タブから未使用のプロビジョニングプロファイルを削除することで解決しました。実際には、キーチェーンはこのプロビジョニングプロファイルからその証明書を取得します。このプロファイルは、期限切れの証明書または失効した証明書によるビルドのいずれかです。
したがって、このプロビジョニングプロファイルを[オーガナイザ]タブから削除する必要があります。オーガナイザーは、xcodeの右上のボタンにあります。それを開いて、オーガナイザーより、使用していないプロビジョニングプロファイルを削除してください。
これがスクリーンショットです
そして、キーチェーンから余分な証明書を削除することを忘れないでください。その後、それらの証明書は再び表示されません。