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

Другие вопросы по тегам