Я пытаюсь автоматизировать процесс создания приложений iphone с определенным сертификатом. Представьте себе, если разные пользователи загрузили свой сертификат в систему, и он был немедленно доступен для кодового знака. Я хочу сделать это без какого-либо взаимодействия. Я также не хочу загромождать систему или logon keychain с разными сертификатами пользователей. Для этого я:
- отключил требование в XCODE, чтобы требовать подписи кода для сборки a.
- разработал ruby script для создания приложения с помощью инструмента командной строки xcodebuild
- создал script, чтобы автоматически создать новую цепочку ключей для пользователя моей системы.
- написал script, чтобы ввести код встроенного приложения iphone.
Все работает, но мне нужно вручную нажать enter, когда программа codeign пытается реализовать разрешение знака. Мои брелки разблокированы. Как ни странно, это работает, если я делаю брелок связью по умолчанию, но это не масштабируется, т.е. Я мог бы иметь только один процесс сборки в любой момент времени.
Когда я вручную кликаю всегда, разрешаю этот процесс, я получаю запись в моем дампе keychain, который выглядит так:
entry 1:
authorizations (6): decrypt derive export_clear export_wrapped mac sign
don't-require-password
description: privateKey
applications (2):
0: /usr/bin/codesign (OK)
Итак, я думаю, что мне нужно использовать команду authorize в безопасности, чтобы предварительно авторизовать код для этих разрешений. Страница безопасности очень бедна. Я не могу заставить его работать с помощью таких команд:
security -v authorize -wew sign |/usr/bin/codesign [код знака vars, указывающий на приложение и конкретную цепочку ключей]
Есть ли у кого-нибудь идеи?