Использование цепочки для ключей не по умолчанию в XCode
Как я могу использовать цепочку для ключей не по умолчанию в проекте XCode iPhone.
Я уже пробовал '--keychain mycerts.keychain' в 'Другие флаги подписи кода' в настройках сборки 'Подписывание кода'.
4 ответа
После долгого исследования я пришел к выводу, что это невозможно.
Инструменту CodeSign требуется абсолютный путь к цепочке для ключей.
Используйте дополнительную "Фазу запуска сценария запуска", чтобы вызвать инструмент кодирования с пользовательской цепочкой для ключей. Встроенный скрипт должен выглядеть так:
codesign -s 'your-identity' --keychain "${SRCROOT}/path/to/keychain" "${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
В настройке сборки в разделе "Подпись кода" -> "Другие флаги подписи кода" создайте флаг "--keychain keychain-name.keychain"
Хотя это неудобно, вы можете временно изменить свою "цепочку ключей по умолчанию" на ту, которая имеет сертификат / ключи. Затем XCode будет искать эту цепочку для ключей во время подписи кода. Вы можете сделать это через Keychain Access.app или утилиту командной строки security(1). Однако вы сами отвечаете за разблокировку брелка.
Эту проблему можно решить, настроив список поиска связки ключей, чтобы включить вашу связку ключей:
security list-keychains -s login.keychain mycerts.keychain etc.keychain
Чтобы просмотреть активный список поиска связки ключей, используйте ту же команду без параметра -s:
security list-keychains
Здесь есть отличная ссылка: https://ss64.com/osx/security-keychain.html.