Я подписываю пакет приложений, используя сертификат идентификатора разработчика Apple. Мне нужно подписать с помощью инструмента командной строки, так как наша сборка автоматизирована и запускается из нашей цепочки инструментов. В 90% случаев с этой командой все работает нормально:
ws5:bin nick$ codesign -fs "Developer ID Application: " MyApp.app
ws5:bin nick$ spctl --assess MyApp.app
ws5:bin nick$
Примечание:MyApp.app не является моим настоящим именем приложения, и
не является фактическим значением.
Таким образом, может быть, 1 из 10 раз он периодически выходит из строя с этой ошибкой:
MyApp.app: The timestamp service is not available.
Я проверил, что.app проходит через механизм карантина с помощью spctl --assess
, заархивировав его и загрузив подписанный файл --, поэтому, пожалуйста, не говорите: «Вы делаете это неправильно, используйте Xcode». Я знаю, что Apple «официально» не рекомендует использовать codesign
для сертификатов ID разработчика (в соответствии с видео WWDC ). но нам нужно использовать его для автоматизации и потому что наше приложение представляет собой странную комбинацию вывода сборки gcc и Qt.
Является ли лучшей стратегией обхода этой ошибки просто повторить попытку, пока она снова не сработает? Это все, что я могу придумать.