Xcode терпит неудачу с ошибкой "подписи кода"
Альтернативные названия
(чтобы помочь поиску)
- Xcode 'Ошибка CodeSign: требуется подпись кода'
- Xcode: ошибка кода приложения iPhone
- Сбой /usr/bin/codesign с кодом выхода 1
- Дженкинс терпит неудачу с ошибкой Code Sign
- Сборка командной строки завершается с ошибкой "профили обеспечения не найдены"
- Архивирование проекта XCode завершается с ошибкой обеспечения
- Отсутствие подписи сертификатов в Xcode
симптомы
Проблема проявляет себя одним из нескольких способов:
- При запуске приложения на устройстве возникает ошибка со ссылкой на "подпись кода" или "сертификаты подписи с истекшим сроком действия"
Сборка из командной строки (или с использованием системы непрерывной интеграции, такой как Jenkins) завершается с ошибкой, подобной этой:
Check dependencies Code Sign error: No unexpired provisioning profiles found that contain any of the keychain's signing certificates
Сбой архивации приложения с "подписанием кода" или "сертификатами подписи с истекшим сроком действия", когда запуск или сборка работают правильно.
Часто проект может иметь несколько конфигураций, а иногда только подмножество будет терпеть неудачу. Удаление и восстановление профилей обеспечения не имеет никакого эффекта.
2 ответа
Сценарий проверки CODE_SIGN_IDENTITY.
Часто в настройках, которые используют контроль версий project.pbxproj
можно объединить таким образом, чтобы два CODE_SIGN_IDENTITY
строки могут быть вставлены. Это, кажется, вызывает проблемы XCode в определенных ситуациях (таких как сборки командной строки или архивирование).
Знак хвоста - это линии, похожие на project.pbxproj
файл (щелкните правой кнопкой мыши по проекту и выберите "Показать содержимое пакета…")
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_IDENTITY = "iPhone Distribution";
Удаление одной из этих строк позволит вам выбрать правильное значение в настройках сборки, и проект должен снова собраться правильно.
Я создал простой скрипт для диагностики этой проблемы, его можно найти здесь: https://github.com/rjstelling/Xcode-Project-Validate
У меня была аналогичная проблема, которую я смог решить после кучи потраченных впустую часов. Итак, напишите мое решение здесь, если оно кому-то поможет.
Мое приложение для iOS, которое я регулярно разрабатываю и развертываю / обновляю в течение последних 5 лет, недавно столкнулось с аналогичной проблемой, когда финальное "Распространение приложения" через XCode Organizer начало показывать ошибку "Ошибка подписи кода для MyAppName.app - см. Журналы распространения. для дополнительной информации". В журналах раздачи нет никакой информации.
После множества проб и ошибок я обнаружил, что сертификат, используемый для подписи кода, каким-то образом испортился. Я удалил сертификат, и проблема была решена. Надеюсь, это кому-то поможет.
Я получил эту ошибку с кодом в проекте с открытым исходным кодом Github, который мне нужен только на моем собственном устройстве (не в магазине или где-либо еще), и у меня нет платной учетной записи.
В этом случае тем временем (начиная с XCode 7) можно настроить и сделать ваше приложение неподписанным, но надежным.
Это все объясняется здесь: /questions/33722514/testirujte-prilozhenie-ios-na-ustrojstve-bez-programmyi-dlya-razrabotchikov-apple-ili-dzhejlbrejka/33722519#33722519