La simple suppression du certificat redondant n'a pas fonctionné pour moi. Il semble que chaque fois que xcodebuild est appelé, il "recrée" le certificat dans le trousseau à partir d'un cache quelque part ... même problème qu'avi j'ai créé un hack / correctif pour cela, j'ai essayé de trouver où le fichier était mis en cache et effacez-le, mais n'a pas eu de chance. En fin de compte, ce qui a fonctionné pour moi (un peu de hack, mais bon, que pouvez-vous faire d'autre), c'était de déterminer quel était le numéro de certificat et de le supprimer manuellement du trousseau peu de temps après l'appel de xcodebuild. Tout d'abord, allez dans votre répertoire / usr / bin / (ou dans tout autre répertoire contenant votre fichier xcodebuild, essayez which xcodebuild
) et exécutez la commande suivante:
sudo mv xcodebuild xcodebuild_actual
Ensuite, créez un fichier en utilisant votre éditeur préféré (n'oubliez pas de sudo) avec le code suivant:
xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E
Remarque: vous devrez modifier votre fichier sudoers pour avoir accès à exécuter cette commande spécifique sans avoir à entrer de mot de passe.
Remplacez l'identité hexadécimale après -Z ci-dessus par l'identité hexadécimale du certificat de zombie incriminé. Enfin, assurez-vous que le fichier xcodebuild est exécutable:
sudo chmod 755 xcodebuild
Vous pouvez maintenant ouvrir votre trousseau et exécuter la commande de construction, et regarder comment le certificat de zombie incriminé est ressuscité, puis sommairement fusillé avant qu'il ne devienne un problème de signature de code. Espérons qu'Apple proposera une véritable solution à ce problème.