Das einfache Löschen des redundanten Zertifikats hat bei mir nicht funktioniert. Es scheint, dass jedes Mal, wenn xcodebuild aufgerufen wird, das Zertifikat im Schlüsselbund aus einem Cache irgendwo "neu erstellt" wird ... dasselbe Problem wie bei avi. Ich habe einen Hack / Fix dafür erstellt und versucht herauszufinden, wo die Datei zwischengespeichert wurde und klar, hatte aber kein Glück. Am Ende hat es für mich funktioniert (ein bisschen wie ein Hack, aber hey, was können Sie sonst noch tun), herauszufinden, wie die Zertifikatsnummer lautet, und sie kurz nach dem Aufruf von xcodebuild manuell aus dem Schlüsselbund zu entfernen. Wechseln Sie zunächst in Ihr Verzeichnis / usr / bin / (oder in das Verzeichnis, in dem sich Ihre xcodebuild-Datei befindet, versuchen Sie es which xcodebuild
) und führen Sie den folgenden Befehl aus:
sudo mv xcodebuild xcodebuild_actual
Erstellen Sie dann eine Datei mit Ihrem bevorzugten Editor (vergessen Sie nicht, sudo) mit dem folgenden Code:
xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E
Hinweis: Sie müssen Ihre sudoers-Datei ändern, um Zugriff auf die Ausführung dieses bestimmten Befehls zu erhalten, ohne ein Kennwort eingeben zu müssen.
Ersetzen Sie die Hex-Identität nach -Z oben durch die Hex-Identität des betreffenden Zombie-Zertifikats. Stellen Sie schließlich sicher, dass die xcodebuild-Datei ausführbar ist:
sudo chmod 755 xcodebuild
Sie können jetzt Ihren Schlüsselbund öffnen, den Build-Befehl ausführen und beobachten, wie das fehlerhafte Zombie-Zertifikat wiederbelebt und dann zusammenfassend mit der Schrotflinte geschossen wird, bevor es zu einem Problem für die Codesignierung wird. Hoffentlich hat Apple eine echte Lösung dafür gefunden.