Есть ли какая-либо команда, чтобы проверить, установлен ли сертификат распространения приложения iOS в ключевом ключе mac. Идентификация сертификата с использованием имени сертификата не помогает, поскольку учетная запись разработчика Apple может иметь более одного сертификата распространения, и эти сертификаты имеют одинаковое имя.Команда, чтобы проверить, установлен ли сертификат распространения iOS
ответ
К сожалению, для подписи кода требуется значительная информация о состоянии сборки вашего приложения (например, Release vs. Debug, эффективный AppID, эффективная конфигурация сборки идентификационной информации, эффективная настройка профиля Provisioning Profile), а также сертификат и ключ информация, которая хранится в цепочке ключей текущего пользователя. Прямой ответ на ваш вопрос: Нет, нет инструмента «checkMySigningIdentity» с одним выстрелом, упакованного в Xcode, который может дать вам полностью автоматический двоичный файл «Да/Нет», который, как я подозреваю, вы ищете. Существует кластер инструментов, открытый через CLI security
, который может использоваться для проверки подлинности подписи или для опроса содержимого установленных сертификатов. Например, вы можете Grep содержимого выходного security find-identity -v -p codesigning
:
[email protected]:~$ security find-identity -p codesigning -v
1) A1B2C3D4E5F6198609D8AACF3F3041F05163A3EC "iPhone Developer: Bryan Musial (1234567890)"
2) 8FDF5DCEC607FE669BB6C728CB51A1B2C3D4E5F6 "iPhone Developer: Bryan Musial (0987654321)"
2 valid identities found
А затем искать идентификатор в скобках, что соответствует известному сертификату распределения (очевидно, я только установил сертификаты развития, но те же самые работы для Сертификаты распространения). Вы можете сделать еще один шаг и получить соответствующий сертификат из Keychain, а затем запросить идентификатор пользователя, организационную единицу или серийный номер для дополнительного уровня проверки.
Конечным результатом является то, что в настоящее время нет CLI с одним касанием, которое вы можете использовать для получения результата прохождения/сбоя, который вы ищете. Тем не менее вы можете взглянуть на инструменты с открытым исходным кодом для скриптов или фрагментов скриптов, которые вы могли бы использовать для создания собственного скрипта.
Это, вероятно, тоже ничего не стоит, хотя man-страница для безопасности указывает необязательную строку сопоставление через '-s', протокол '-p codesigning' не поддерживает строковые фильтры. –
помогло бы просто переустановить его из командной строки? http://stackoverflow.com/questions/23410890/add-import-certificate-with-password-via-command-line-mac-os-x – nycynik