Установка из командной строки сертификатов подписи кода, файлов .p12 и mobileprovisions - PullRequest
2 голосов
/ 15 июня 2011

Я работаю в компании, которая занимается разработкой сторонней iOS для различных предприятий. Мне было поручено исследовать лучший способ создания и развертывания кода на этих предприятиях. Основываясь на Apple TOS, они не могут использовать приложение, подписанное нашим корпоративным сертификатом (они не «в доме»). Код должен быть подписан их (нашим клиентом) корпоративным сертификатом. Вот несколько возможных решений, которые я видел -

1) Отправьте код клиенту и попросите клиента его собрать. Это не ходят .

2) Создайте библиотеку с кодом приложения и отправьте файл .so и заголовки клиенту для сборки. В настоящее время мы делаем это таким образом, но мы стремимся сделать это проще для клиента / нас.

3) Пусть клиент отправит нам свой сертификат, mobileprovision и файл .p12, а затем мы создадим приложение, используя его сертификат. Это может сработать, но может стать кошмаром менеджмента.

Мы придумали идею, которая является своего рода смесью этих идей. Идея заключается в создании клиентского портала, где клиент может загружать свои файлы (cert, p12, provision) на наш Mac-сервер, и Mac автоматически создаст свое приложение с надлежащей подписью. Однако проблема в том, что я не могу понять, как автоматизировать установку сертификатов и положений.

Итак, с учетом сказанного, кто-нибудь знает способ установки сертификата CodeSign (с файлом .p12) и файла обеспечения мобильной связи из командной строки? После установки есть ли способ удалить элементы из командной строки?

Любая помощь, идеи и / или вклад будет принята с благодарностью. Спасибо!

Ответы [ 2 ]

4 голосов
/ 23 июня 2011

Вы должны иметь возможность управлять этими ресурсами в цепочке для ключей с помощью команды security (http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/security.1.html)). Скрипт, который я использую для управления сборками командной строки, может быть полезной ссылкой: https://gist.github.com/949831

2 голосов
/ 23 июня 2011

По общему признанию, у меня когда-либо было максимум 2 внешних клиента плюс мои собственные вещи за один раз, так что это был в основном тот же самый кошмар, каким он обычно является по умолчанию, но насколько это было бы плохо, если бы вам пришлось делать это вручную все кроме профилей обеспечения? По моему опыту, как только клиентские сертификаты были добавлены, я никогда не перепутал их, даже с новыми проектами (от тех же клиентов.)

Вы можете обработать профили инициализации, просто скопировав файлы в ~ / Library / MobileDevice / Provisioning Profiles и удалив их, когда они больше не нужны. Похоже, вы уже настроены на автоматизацию этого процесса.

Если вы в настоящее время устанавливаете профили инициализации, «перетаскивая их на xcode», я бы посоветовал вам сделать это путем копирования в папку в любом случае, потому что тогда имена файлов сохраняются, и поэтому вы на самом деле можете сказать, что вы установили просто посмотрев на папку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...