it-swarm.com.ru

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

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

  1. Получил аккаунт разработчика
  2. Войдите в Центр участников, чтобы создать идентификатор приложения
  3. Используется брелок для доступа к запросу и получения сертификата распространения
  4. Получил профиль обеспечения, используя мой идентификатор и сертификат

Когда я создаю приложение, оно отлично работает в симуляторе приложения и на реальном 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 проект, но я думаю, что это также может быть источником моей ошибки.

Кто-нибудь, не могли бы вы помочь?

49
LeleMarieC

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

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

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


Проверьте настройки 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


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

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

Scheme Settings


Далее, проверьте настройки Keychain AccessTrust:

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

Keychain


Затем проверьте закрытый ключ Keychain AccessAccess Control:

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

Keychain 2

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


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

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

88
d4Rk

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

  1. Открытый доступ к брелку.
  2. Заблокируйте брелок «Логин».
  3. Разблокировать его.

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

89
SAPLogix

У меня работают следующие шаги:

  1. Выход Xcode.
  2. Откройте Terminal.
  3. Типизированная команда xattr -rc /Users/manabkumarmal/Desktop/Projects/MyProjectHome
  4. Откройте Xcode.
  5. Убирали.
  6. Теперь сработало и без ошибок.
33
Manab Kumar Mal

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

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

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

cd ~/Library/Developer/Xcode/DerivedData
xattr -c *
10
Jose Ramirez

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

3
luke

У меня "Перезапуск Mac System" получилось

2
Sakthimuthiah

Делайте все, что предлагает d4Rk, то есть замечательно walk-through . Если он все еще не подписывает, у вас могут быть некоторые просроченные или отозванные сертификаты. Я считаю, что это может произойти, когда вы работаете в команде.

  1. выйти из xcode.
  2. открыть брелок доступа.
  3. в разделе «Сертификаты» просмотрите все сертификаты «iPhone Distribution» и, если они истекли, отозваны или недействительны, удалите их.
  4. такой же, как 3, но для раздела «Мои сертификаты».
  5. заново откройте xcode и попробуйте снова.
2
orion elenzil

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

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

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

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

2
Mujahed Ansari

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

/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 были другими, я изменил его на новый пароль, и он работает для меня.

2
Piyush

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

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

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

1
Raghu MR

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

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

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

1
LazyX

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

1
Ruchin Somal

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

1
Mike

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

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

0
geet Sebastian

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

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

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

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

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

0
Iker Etxebarria

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

0
Pierre Tanguay

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

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

0
Adnan Haider

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

 enter image description here

 enter image description here

0
MRizwan33

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

0
ozzbmt

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

В терминале:

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

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

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

0
Q A

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

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

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

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

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

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

0
nigong