Подтвердить что ты не робот

Command/usr/bin/codesign не удалось с кодом выхода 1-я ошибка кода

В настоящее время я отправляю свое первое приложение в магазин Apple. Я выполнил следующие процессы

  • Получен аккаунт разработчика
  • Вход в Центр-член для создания идентификатора приложения
  • Используемый доступ к брелокам для запроса и получения сертификата распространения
  • Получил профиль подготовки, используя мой идентификатор и сертификат

Когда я создаю приложение, он отлично работает в симуляторе приложения и на фактическом ipad, однако, когда я переключаю свое приложение на Archive на iOS-устройстве, у меня есть основная ошибка знака кода, которую я добавил ниже.

codesign /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Products/Debug-iphoneos/RoyalAppInspection.app
cd /Users/Gaby/Desktop/RoyalAppInspection
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin


/usr/bin/codesign --force --sign 79640A11C8D22589BD337496ABB8443581513846 --entitlements /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Intermediates/RoyalAppInspection.build/Debug-iphoneos/RoyalAppInspection.build/RoyalAppInspection.app.xcent /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Products/Debug-iphoneos/RoyalAppInspection.app

79640A11C8D22589BD337496ABB8443581513846: no identity found Command /usr/bin/codesign failed with exit code 1

Я понятия не имею, что делать, чтобы исправить это, поскольку я пытался убедиться, что все остальные аспекты процесса были выполнены правильно.

Одна из проблем, с которыми я столкнулся, заключалась в том, что когда я щелкнул файл профиля подготовки, который он не откроет, и "добавить в библиотеку" не появится (я не могу получить доступ к утилите настройки iphone по какой-то причине.) Я вручную добавил файл .mobileprovision к моему проекту xcode, но я думаю, что это также может быть источником моей ошибки.

Кто-нибудь, пожалуйста, помогите?

4b9b3361

Ответ 1

Вы почти сделали это самостоятельно, но в конце концов, похоже, что-то не так с вашим профилем.

Сначала я бы порекомендовал инструмент "заглянуть внутрь" профиля, чтобы убедиться, что он правильный: http://furbo.org/2013/11/02/a-quick-look-plug-in-for-provisioning/

Это просто добавит некоторую дополнительную информацию о профиле при выборе его в Finder и нажатии пробел (Быстрый просмотр).


Проверьте настройки Xcode:

  1. Xcode Perferences (CMD +,)
  2. Счета
  3. Выберите свой аккаунт слева
  4. Выберите подробности просмотра внизу справа
  5. Обновить (используя маленькую кнопку слева внизу)

Xcode Settings

Xcode хранит профили в ~/Library/MobileDevice/Provisioning Profiles

Если вашего профиля распространения нет, дважды щелкните по нему.

Затем он должен появиться в этой папке, но с хэшированным именем, например, 1edf8f42-fd1c-48a9-8938-754cdf6f7f41.mobileprovision На этом этапе плагин Quick Look пригодится :-)


Далее проверьте настройки вашего проекта:

  1. выберите цель (не проект), которую вы хотите встроить в Xcode
  2. перейти к настройке сборки
  3. ищите раздел "Подписание кода"
  4. проверьте, выбран ли правильный профиль в разделе "Профиль обеспечения" => "Выпуск"

Build Settings


Затем проверьте настройки схемы:

  1. выберите меню продукта
  2. открытая схема подменю
  3. выберите схему редактирования...
  4. выберите "Архив" слева
  5. Конфигурация сборки должна быть установлена на "Release"

Scheme Settings


Далее, проверьте настройки Trust цепочки для ключей:

  1. открытый доступ к брелку (прожектор => брелок)
  2. выберите логин
  3. нажмите на сертификаты
  4. iPhone Distribution: Elena Carrasco (8HE2MJLM25) справа
  5. щелкните правой кнопкой мыши, выберите "Получить информацию"
  6. открыть раздел "Доверие"
  7. установить "Использовать системные настройки по умолчанию"
  8. повторите шаги с 5 по 7 для Apple Worldwide Developer Relations Certificate Authority

Keychain


Далее, проверьте Keychain Access, закрытый ключ Access Control:

  1. повторите шаги с 1 по 4 из предыдущей проверки
  2. разверните профиль, чтобы сделать ваш личный ключ видимым
  3. щелкните правой кнопкой мыши на закрытом ключе, выберите "Получить информацию"
  4. переключиться на "Контроль доступа"
  5. выберите "Подтвердить, прежде чем разрешить доступ"
  6. используйте кнопку "+", чтобы добавить "CodeSign" (обычно находится в /usr/bin/codesign)
    Подсказка: если он не отображается в файловом браузере, используйте cmd + shift + g чтобы ввести путь вручную
  7. при использовании Carthage: добавьте сюда также /usr/bin/productbuild (спасибо в DesignatedNerd)
  8. "Сохранить изменения"

Keychain 2

Надеюсь, что один из этих трюков для вас!


Обновление (22.04.16):

Я только что нашел очень хорошее объяснение всего процесса подписания кода (его действительно стоит прочитать): https://www.objc.io/issues/17-security/inside-code-signing/

Ответ 2

Следующие шаги решили проблему для меня. У меня возникла проблема, когда он не компилировался для устройства или архивирования, отлично работает для симулятора.

  • Откройте доступ к keychain.
  • Заблокируйте брелок "login".
  • Разблокируйте его.

Очистите и создайте после выполнения вышеуказанных шагов, и теперь все будет хорошо.

Ответ 3

Для меня были следующие шаги:

  • Закройте Xcode.
  • Откройте Terminal.
  • Typed Command xattr -rc /Users/manabkumarmal/Desktop/Projects/MyProjectHome
  • Открыть Xcode.
  • Убирали.
  • Теперь работает и нет ошибки.

Ответ 4

Это сработало для меня. Дайте ему попытку:

cd ~/Library/Developer/Xcode/DerivedData
xattr -rc .

Ответ 5

У меня была эта ошибка в Xcode 8 и Mac OS Sierra. Перепробовал все вышеперечисленные решения и ни один не сработал. Это был единственный, который работал на меня. Откройте терминал и введите это:

cd ~/Library/Developer/Xcode/DerivedData
xattr -c *

Ответ 6

Для меня я просто очистил приложение, и он работал (cmd + shift + k), удалив ошибку. Я получил ошибку после обновления до версии 2.3.

Ответ 7

Делайте все, что предлагает d4Rk, это отличная прогулка. если он еще не подписывается, у вас могут быть некоторые истекшие или отозванные сертификаты. Я нахожу, что это может произойти, когда вы работаете в команде.

  • quit xcode.
  • открыть доступ к Keychain.
  • в разделе "Сертификаты", просмотрите все сертификаты "Распространение iPhone" и, если они истекли или отменены или иным образом недействительны, удалите их.
  • то же, что и 3, но для раздела "Мои сертификаты".
  • заново открыть xcode и повторить попытку.

Ответ 8

Для меня работала "Перезагрузка Mac-системы"

Ответ 9

Откройте проект в Xcode.
Выберите файл project.app и щелкните по нему правой кнопкой мыши, выберите опцию "Показать в поиске".
Откройте терминал и перейдите к пути к файлу project.app.

Введите следующую команду:

xattr -lr project.app
xattr -cr project.app

Откройте проект и запустите.

Ответ 10

Reboot также работал у меня. Интересно, что это проблема, позволяющая Xcode получить доступ к сертификатам. Когда я снова попробовал архив, я получил 2 всплывающих окна с вопросом, хочу ли я позволить Xcode получить доступ к моей цепочке ключей. После этого он работал нормально.

Ответ 11

Просто reset сертификат разработки и распространения и очистите свой проект. После этого, Перезагрузка также работала для меня. Интересно, что это проблема, позволяющая Xcode получить доступ к сертификатам. Когда я снова попробовал архив, я получил 2 всплывающих окна с вопросом, хочу ли я позволить Xcode получить доступ к моей цепочке ключей. После этого он работал нормально.

Ответ 12

Удалите существующие предварительно скомпилированные файлы:

rm -rf  /Users/raghu/Library/Developer/Xcode/DerivedData/Solitare-fdaukpanamlzllacxvdzfbeqcrsg/

И попробуйте построить его снова.

Ответ 13

Я следовал за всеми вещами, упомянутыми в этой теме, но все еще сталкивался с тем же issue-

/usr/bin/codesign --force --sign A7F8FCD694D7923A3E57826398C3380E2E5A5446 --entitlements  unknown error -1=ffffffffffffffff
Command /usr/bin/codesign failed with exit code 1

Я настроил автоматическую подпись с моей базой кода, которая будет работать с запуском xcode, а также с запуском xcodebuild с терминала с моего компьютера, но выдает ошибку выше, когда я запускаю его на конвейере jenkins или пытаюсь запустить на терминале с удаленно подключенного компьютера

В моем случае автоматическая подпись не работает, если доступ удаленный. потому что мне нужно открыть брелок перед использованием архива

security unlock-keychain -p "newpassword" "/Users/xyz/Library/Keychains/login.keychain"

пароли цепочки для ключей и пароль для входа в систему пользователя macOS X были другими, я изменил его на новый пароль, и он работает для меня.

Ответ 14

Я решил эту проблему очень легко.

  • Просто перезагрузите компьютер (он все обновляет сам).

Надеюсь, это поможет..

Ответ 15

Перезагрузка не работала для меня.

Просто попробуйте загрузить и снова добавить сертификат в keyChain. Это сработало для меня. Когда я проверил Keychain Access, соответствующий сертификат отсутствовал. Устранена проблема при повторной установке сертификата.

Ответ 16

удалите сертификат в своем dev, затем переустановите и он будет работать!

Ответ 17

Я решил эту проблему. Если в вашем проекте есть файл.xcdatamodeld (имеется в виду, что вы используете coreData), убедитесь, что сформированные вами сущности идут в Инспектор моделей данных и проверяют, есть ли у Class codegen, manual/None или classdefination. если это определение класса, то сделайте это вручную/Нет, очистите проект и запустите снова. скриншоты приведены ниже:

enter image description here

enter image description here

Ответ 18

Если в решении @d4Rk ничего не работает, просто используйте приведенный ниже экран, чтобы удалить нежелательные/просроченные аналогичные профили. Щелкните правой кнопкой мыши профиль обеспечения, чтобы переместить его в корзину. окно профиля обеспечения

Поскольку в моем случае после выполнения всех шагов я все еще получал одну и ту же проблему, и она устранена, когда я удалил старые устаревшие профили обеспечения с тем же именем, а затем использовал правильный в настройке сборки.

Ответ 19

Просто перезагрузка XCode работала для меня.

Ответ 20

В моей ситуации некоторые контейнеры были устаревшими после обновления моей ОС. Вот что это зафиксировало:

В терминале:

cd /Users/quaisafzali/Desktop/AppFolder/Application/
pod install

Затем откройте свой проект в Xcode и очистите его (Cmd + Shift + K), затем создайте/запустите.

Это сработало для меня, надеюсь, что это поможет некоторым из вас!

Ответ 21

У меня была такая же ошибка в январе 2018 года с xcode 8.2.1

Прежде чем попытаться открыть xcode, я не смог, потому что система обновлялась. Я попытался через некоторое время, и это позволило мне работать над этим, и затем я получил ту же ошибку.

Я следовал большинству решений, описанных в этой статье, но они не работали для меня.

Затем я вспомнил сообщение об обновлении системы и попытался перезагрузить компьютер.

И это сделало волшебство. Это сработало для меня.

Ответ 22

Перезагрузка у меня тоже сработала. После обновления до High Sierra у меня появилось множество проблем с паролем, и, похоже, мне нужно было ввести пароль для доступа к связке ключей к XCode.

Ответ 23

У меня недавно была эта проблема, и все вышеупомянутые решения не работали для меня.

Причина, по которой он работает на вашем симуляторе, но не на реальных устройствах, вероятно, связана с вашим Development Certificate.

Поэтому я отозвал свой сертификат на портале Apple Developer Portal и запросил новый сертификат на своем компьютере. Вот шаги:

  1. Перейдите на портал разработчиков Apple и отозвайте свой старый (не работающий) сертификат разработки. revoke
  2. Добавить сертификат разработки приложений для iOS add
  3. Следуйте шаг от Apple
  4. Загрузите новый сгенерированный сертификат и добавьте его (двойной щелчок) в цепочку для ключей download
  5. Убедитесь, что это в ваших учетных записях XCode accounts

Тогда это работает!

Надеюсь, поможет!

Ответ 24

Простой способ (который будет делать все файлы PNG) я использовал:

Запустите эту команду в терминале

find . -name "*.png" -exec xattr -c {} \;