2015-03-24 4 views
28

Я сейчас в процессе отправки своего первого приложения в магазин Apple. я закончил следующие процессыкоманда/usr/bin/codesign не удалось с кодом выхода 1-значный код ошибки

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

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

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

+2

Вы добавили свою учетную запись в 'Xcode' ->' Preferences' -> 'Accounts'? –

+1

Обратитесь к ответу Apple, это сработало для меня: https://developer.apple.com/library/content/qa/qa1940/_index.html –

ответ

70

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

Сначала я бы рекомендовал инструмент «заглянуть внутрь» профиль, чтобы убедиться, что это правильный один: 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. найдите раздел «Code Signing»
  4. проверки, если правильный профиль выбран в соответствии с "Provisioning Profile" => "Release"

Build Settings


Далее проверьте ваш Настройки Схема:

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

Scheme Settings


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

  1. открытый доступ к цепочке ключей (Прожектора => брелка)
  2. выберите Войти
  3. нажмите на сертификаты
  4. искать iPhone Distribution: Elena Carrasco (8HE2MJLM25) на правой
  5. правой кнопкой мыши, выберите "Get Info"
  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. при использовании Карфагена: добавить /usr/bin/productbuild здесь также (спасибо к DesignatedNerd)
  8. "Сохранить изменения"

Keychain 2

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


Update (4/22/16):

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

+1

Вау, этот ответ намного превосходит любую помощь, которую я ожидал, но поддерживал d4Rk для удивительного удивительного решения. Большое вам спасибо, я очень ценю это. – LeleMarieC

+0

Проблема исправлена, теперь ожидается ответ от магазина Apple! – LeleMarieC

+0

Просто отметьте галочку под кнопками «вверх/вниз» :-) – d4Rk

1

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

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

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

0

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

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

0

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

3

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

-1

Самый простой способ (который будет делать все PNG файлы) Я:

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

находке. -name "* .png" -exec xattr -c {} \;

6

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

cd ~/Library/Developer/Xcode/DerivedData

xattr -c *

25

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

  1. Выход Xcode.
  2. Открыть Terminal.
  3. Typed Command xattr -rc /Users/manabkumarmal/Desktop/Projects/MyProjectHome
  4. Открыть Xcode.
  5. Очищено.
  6. Теперь работало и не было ошибок.
+1

Что касается этого, на странице [xattr man] (https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/xattr.1.html), он очищает расширенный атрибут данные из каталога на пути, прошедшего как окончательный параметр, рекурсивно. Почему это помогает, я понятия не имею. – DesignatedNerd

11

Это работает для меня ... Дайте попробовать ...

кд/Пользователи/ВАШЕ-USER/Library/Developer/Xcode/DerivedData

-rc некоторого атрибута.

1

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

0

Я решил эту проблему. Если у вашего проекта есть файл .xcdatamodeld (значит, вы используете coreData), убедитесь, что созданные вами объекты перешли к его Data Model Inspector и проверьте, что класс имеет кодеген, ручное/None или classdefination. если это класс защиты, тогда сделайте его ручным/Нет, очистите проект и снова запустите. скриншоты приведены ниже:

enter image description here

enter image description here

0

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

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

1

Удалить существующие предварительно скомпилированные файлы. rm -rf/Пользователи/raghu/Библиотека/Разработчик/Xcode/DerivedData/Solitare-fdaukpanamlzllacxvdzfbeqcrsg/

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

0

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

1

Открыть проект в Xcode. Выберите файл project.app и щелкните его правой кнопкой мыши, выберите опцию «show in finder». Откройте терминал и перейдите к пути к файлу project.app.

Type the following to command one by one. 

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

open the project and run. 
0

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

В терминале:

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

Затем откройте свой проект в Xcode и очистите его (Ctrl + Shift + K), а затем построить/Выполнить.

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

26

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

  1. Открытый доступ к цепочке ключей.
  2. Заблокировать брелок для входа в систему.
  3. Разблокируйте его.

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

0

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

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

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

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

И это сделало магию. Это сработало для меня.

0

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

0

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

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

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

В моем случае Automatic s igning не работает, если доступ удаленно. потому что мне нужно, чтобы открыть брелка, прежде чем архив с помощью

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

брелок пароли & Логин пароль для пользователя MacOS X отличается изменить его на новый же пароль, и это работает для меня.

+0

Это не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав [Ask Question] (https://stackoverflow.com/questions/ask). Вы также можете [добавить щедрость] (https://stackoverflow.com/help/privileges/set-bounties), чтобы привлечь больше внимания к этому вопросу, как только у вас будет достаточно [репутации] (https://stackoverflow.com/help/ Что-репутация). - [Из обзора] (/ review/low-quality-posts/18962901) –

+0

Если у вас есть новый вопрос, обратитесь к нему, нажав кнопку [Ask Question] (https://stackoverflow.com/questions/ask). Включите ссылку на этот вопрос, если это поможет обеспечить контекст. - [Из обзора] (/ review/low-quality-posts/18962901) –