Ответ 1
С той же проблемой некоторое время назад добавив
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k password ${KEYCHAIN}
решил это для меня.
Я попытался подписать код приложения iOS, Это шаги, которые я следил за
security create-keychain -p password ${KEYCHAIN}
security set-keychain-settings -u -t 300 ${KEYCHAIN}
security list-keychains -d user -s login.keychain ${KEYCHAIN}
security import "$1" -k ${KEYCHAIN} -A -P "${PASSPHRASE}" -A >/dev/null
security unlock-keychain -p password ${KEYCHAIN}
/usr/bin/codesign -f -s $IDENTITY --keychain $KEYCHAIN --entitlements $ENTITLEMENTS Payload/Test.app
Это вернуло меня Codesign вернула неизвестную ошибку -1 = ffffffffffffffff через ssh.
Если я непосредственно выполняю команду кодового знака в машине, она успешно подписывается.
Проблема только в Mac OS Sierra.
С той же проблемой некоторое время назад добавив
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k password ${KEYCHAIN}
решил это для меня.
Получается такая же проблема, но при архивировании непосредственно из Xcode. Совместное использование решения в случае его помощи.
Иногда Keychain, кажется, попадает в поврежденное состояние. Также можно использовать MacOS Sierra.
Симптомы:
Relogin необходимо получить доступ к учетным записям после перезапуска Xcode
Запрос пароля при использовании Keychain Access для некоторых операций
Доступ к ключам - ошибка при доступе к логинному цепочке ключей с помощью настроек изменения для брелка...
Для меня это фиксирует и разблокирует (требуется пароль) задействованный Keychain, login в моем случае.
@madhu Я пытаюсь исправить ту же проблему и обнаружил, что Access Control для ключа, связанного с данным сертификатом, был настроен на "Подтвердить, прежде чем разрешить доступ", который не работал в Jenkins. Я изменил его (через Keychain Access gui - Get Info, Access Control), чтобы "Разрешить всем приложениям обращаться к этому элементу", и моя сборка была успешной.
Я собираюсь чип, так как мне пришлось попробовать еще несколько вещей, чем упомянутые здесь: проблема в том, что keychain не любит сеансы SSH. Мне пришлось выполнить их на моей сессии, чтобы исправить это:
security unlock-keychain -p MY_PASS ~/Library/Keychains/login.keychain
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k MY_PASS ~/Library/Keychains/login.keychain
security set-keychain-settings ~/Library/Keychains/login.keychain
Я также удалил свои текущие сертификаты системы/сертификаты учетной записи, удалив мою учетную запись из XCode (я использую fastlane для создания здания), но я подозреваю, что это не должно было повлиять на нее.
Возможно, вы экспортировали некоторый файл, например p12, из KeyChain, и когда ОС запросила пароль root, и вы его отрицали, тогда Xcode будет кодировать ошибку с этой информацией.
Если это возможно, вы должны повторить вышеуказанное действие, ввести свой пароль и щелкнуть разрешить, а затем это будет нормально для кодового знака.
Я пробовал почти все существующие предложения по сети, никто из них не помог...
Наконец, только перегенерировав профиль Provisioning Profile (для AdHoc), перезагрузив его и разместив на ~/Library/MobileDevice/Provisioning Profiles/
, перезапись существующей сохранена моя жизнь.
Кстати, сборка AppStore прошла успешно все это время, поэтому проблема была определенно в самом профиле AdHoc (довольно странно, так как это выглядело неплохо).
Это происходит в безголовой сборке, потому что запрос на доступ к ключам не может быть показан или отреагирован. Решение состоит в том, чтобы предотвратить показ этого приглашения, предварительно предоставив доступ к ключу.
Откройте Keychain Access, найдите ключ для своего сертификата подписи (login- > Certificates, затем разверните сертификат, чтобы открыть его ключ). Щелкните правой кнопкой мыши по ключу и выберите: Получить информацию → Контроль доступа и выберите "Разрешить всем приложениям доступ к этому элементу".