La semplice eliminazione del certificato ridondante non ha funzionato per me. Sembra che ogni volta che viene chiamato xcodebuild, si sta "ricreando" il certificato nel portachiavi da una cache da qualche parte ... stesso problema di avi Ho creato un hack / fix per esso, ho provato a trovare dove il file veniva memorizzato nella cache e cancellarlo, ma non ha avuto fortuna. Alla fine, quello che ha funzionato per me (un po 'un trucco, ma hey, cos'altro puoi fare), è stato capire qual è il numero del certificato e rimuoverlo manualmente dal portachiavi subito dopo aver chiamato xcodebuild. Per prima cosa, vai alla tua directory / usr / bin / (o qualsiasi directory abbia il tuo file xcodebuild, prova which xcodebuild
) ed esegui il seguente comando:
sudo mv xcodebuild xcodebuild_actual
Quindi crea un file usando il tuo editor preferito (non dimenticare di sudo) con il seguente codice:
xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E
Nota: dovrai modificare il tuo file sudoers per avere accesso per eseguire questo comando specifico senza dover inserire una password.
Sostituisci l'identità esadecimale dopo -Z sopra con l'identità esadecimale del certificato zombi incriminato. Infine, assicurati che il file xcodebuild sia eseguibile:
sudo chmod 755 xcodebuild
È ora possibile aprire il portachiavi ed eseguire il comando di compilazione e osservare come il certificato zombi incriminato viene resuscitato e quindi sommariamente sparato prima che diventi un problema per la firma del codice. Speriamo che Apple riesca a trovare una soluzione reale per questo.