Простое удаление избыточного сертификата у меня не сработало. Кажется, что каждый раз, когда вызывается 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 выше на шестнадцатеричный идентификатор сертификата зомби-нарушителя. Наконец, убедитесь, что файл xcodebuild исполняемый:
sudo chmod 755 xcodebuild
Теперь вы можете открыть свою связку ключей и запустить команду сборки и посмотреть, как зомби-сертификат-злоумышленник воскрешается, а затем быстро уничтожается до того, как это станет проблемой для кодовой подписи. Надеюсь, Apple найдет для этого реальное решение.