Я пытаюсь добавить новый профиль подготовки в свой Xcode, чтобы протестировать приложение на устройстве. Вот шаги, которые я выполнил:
Удалены все сертификаты и профили обеспечения.
Создать / добавить сертификат разработчика IOS
Добавить мое устройство IOS в Интернет
Создать профиль подготовки IOS
Добавить профиль подготовки IOS
Чистое приложение
Собрать и запустить приложение
Задайте Codesigning nd Provisioning Profile в настройках сборки
Много гуглить> безуспешно
Вот ошибка, которую я получаю:
CSSM_SignData returned: 800108E6
/Users/alexpelletier/Library/Developer/Xcode/DerivedData/MyExpense-efnqzvoqwngzcmazaotyalepiice/Build/Products/Debug-iphoneos/MyExpense.app: errSecInternalComponent
Command /usr/bin/codesign failed with exit code 1
ios
xcode
certificate
provisioning-profile
Алекс Пеллетье
источник
источник
Ответы:
Откройте Keychain Access , затем в меню File выберите Lock All Keychains .
Затем вернитесь в Xcode, очистите и перестройте. Вам снова будет предложено ввести пароль, чтобы разблокировать связку ключей.
После этого, если у вас нет других проблем с компиляцией, все будет успешно!
источник
Похоже на ошибку в механизме подписи кода, перезапуск вашего Mac должен решить проблему
источник
Это происходит, когда связка ключей входа в систему заблокирована. Чтобы разблокировать связку ключей входа в систему, запустите:
Если ваша связка ключей защищена паролем, укажите пароль с помощью
-p
опции.Затем попробуйте снова выполнить сборку или операцию подписания кода. Этот код ошибки описан в документации Apple как внутренняя ошибка, поэтому вполне возможно, что это происходит и в других случаях.
источник
codesign
неудачи, и это волшебная команда, которая спасла меня !!!Была такая же проблема с
High Sierra
/Xcode 9.4.1
, все попытки войти закончилисьerrSecInternalComponent
Альтернативно:
запустите командуcodeign на терминале Mac и "Всегда разрешать" / usr / bin /codeign доступ к ключу
Если вы пытаетесь подписаться из ssh / CI, вам также необходимо запустить
прежде чем пытаться подписать пакет приложений
источник
security unlock-keychain -p <password> login.keychain
из CI.~/.bash_profile
так, чтобы связка ключей разблокировалась при запуске клиента SSH, но вам не нужна ссылка на нее из вашего сценария CIЯ столкнулся с той же проблемой, я перезапускаю свою macOS, и она работает.
В Китае разработчики говорят:
Иногда сказанное выше может вам очень помочь!
источник
Если это помогает кому-то другому, я столкнулся с
errSecInternalComponent
ошибкой,codesign
потому что я запускал его через сеанс ssh на моем компьютере MacOS. Выполнение той же команды из окна терминала на самой машине MacOS сработало.Предположительно это связано с тем, что
codesign
требуется доступ к закрытому ключу из цепочки ключей входа в систему.Запуск
security unlock-keychain login.keychain
(как объяснил ответ cbracken ) из того же сеанса также должен работать.источник
Если вы пытаетесь подписаться с помощью команды запуска ssh:
прежде чем пытаться подписать пакет приложений
или из пользовательского интерфейса
Обновите контроль доступа к ключу на "Разрешить всем приложениям доступ к этому элементу"
Спасибо @Equilibrium и @Jon McClung
источник
У меня была такая же проблема. Обнаружена проблема с подписью кода приложения.
источник
Я побежал,
security unlock-keychain login.keychain
но мой пароль для входа не сработал. Итак, я перезагрузился, а затем снова запустил Xcode, и это сработало. Выполнение команды тоже работает. Странная проблема.источник
Как указано в @Equilibrium в одном из комментариев, если вы находитесь в командной строке env. как и Дженкинс (мой случай), вам может потребоваться передать пароль команде безопасности-разблокировки, упомянутой в решениях.
Поэтому вместо использования
использование:
где цепочка ключей пути к логину может быть $ HOME / Library / Keychains / login.keychain (мой случай) или просто login.keychain
источник
для всех, кто столкнулся с этой проблемой от jenkins и ssh:
высокая вероятность того, что вы не предоставили доступ к закрытому ключу в цепочке для ключей, я пробовал, но не уверен, почему все это не работает:
окончательно решено:
1.ssh [пользователь] @ [jenkinsServerIP] -L 5900: localhost: 5900, войти на сервер jenkins
2. открыть vnc: // localhost
это запустит удаленный экран, если ваш сервер jenkins позволяет это ...
затем откройте keychain.app, чтобы предоставить доступ / usr / bin /codeign к закрытому ключу
удачи
источник
Просто попробуйте один раз с помощью терминала Mac, но не из сеанса ssh
И выберите всегда разрешать в диалоговом окне с запросом. И тогда вы можете xcodebuild в удаленном сеансе.
источник
Щелкните правой кнопкой мыши закрытый ключ, связанный с сертификатом кодовой подписи в цепочке для ключей, а затем нажмите «Разрешить все приложения» вместо того, чтобы полагаться на подсказку, исправленную для меня, поскольку сборка происходила через ssh.
источник
Мне пришлось:
1) удалить сертификат, связанный с проектом
2) Вернуться к Xcode и отозвать сертификат приложения.
3) Xcode требует новый сертификат
4) Заблокируйте все брелки
5) Очистить проект
6) Восстановить
Вот и все. Надеюсь, это поможет кому-нибудь.
источник
Вышеуказанные методы мне ни к чему.
Я решил это:
Вот и все. Надеюсь, это поможет кому-нибудь.
источник