2016-09-12 1 views
44

У меня есть серьезная проблема с Xcode 8 на macOS Sierra. Когда я пытаюсь создать свое приложение, у меня возникает следующая проблема.Xcode 8 не может архивировать «Command/usr/bin/codesign failed with exit code 1»

CodeSign /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app 
cd /Users/me/Desktop/MyAppFolder1/MyAppFolder2/MyAppxcode 
export CODESIGN_ALLOCATE=/Users/me/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate 
export PATH="/Users/me/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Users/me/Downloads/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" 

Signing Identity:  "-" 

/usr/bin/codesign --force --sign - --timestamp=none /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app 

/Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app: resource fork, Finder information, or similar detritus not allowed 
Command /usr/bin/codesign failed with exit code 1 

тогда я сделал https://forums.developer.apple.com/thread/48905 в терминале, как следующий, и она работала. но как только я убираю, проблема возвращается.

cd /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp 

ls [email protected] * 

xattr -c * 

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

CodeSign /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app 
cd /Users/me/Desktop/MyAppFolder1/MyAppFolder2/MyAppxcode 
export CODESIGN_ALLOCATE=/Users/me/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate 
export PATH="/Users/me/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Users/me/Downloads/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" 

Signing Identity:  "iPhone Developer: My Name (**********)" 
Provisioning Profile: "iOS Team Provisioning Profile: com.**********.*********" 
        (********-****-****-****-************) 

/usr/bin/codesign --force --sign **************************************** --entitlements /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/MyApp.build/Release-iphoneos/MyApp.build/MyApp.app.xcent --timestamp=none /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app 

/Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app: resource fork, Finder information, or similar detritus not allowed 
Command /usr/bin/codesign failed with exit code 1 
+0

Вы нашли решение для этого? Я загрузил Xcode 8 около 2 недель назад и подписал с ним одно и то же приложение. несколько дней назад я установил macOS Sierra (раньше у меня был El Capitan), и теперь он не подписывает одно и то же приложение. –

+0

То же самое здесь, это сводит меня с ума. Это происходит, только если у меня есть проект с CocoaPods. – noisedan

+1

@noisedan no CocoaPods здесь, также есть проблема. Я не думаю, что это связано с стручками. но это похоже на конкретный проект. например, это происходит со мной в моем приложении macOS без каких-либо контейнеров, но у меня есть приложение iOS с контейнерами, и он отлично подписывается. –

ответ

6

Это получает вызвано некоторыми файлами ресурсов, имеющих дополнительные атрибуты файловой системы, вероятно вызванный MacOS Sierra (как я начал иметь ее после обновления до Macos Sierra).

Попробуйте выполнить xattr -c * на всей DerivedData папке (как указано в ответе на https://forums.developer.apple.com/message/178039#178039):

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

Удаление атрибутов только на папку сборки исправили проблему для меня при отладке. Удаление атрибутов в целом DerivedData папка исправила его для меня и в архивировании. Обратите внимание, что это может привести к другим последствиям (хотя и маловероятным), но вы всегда можете удалить папку DerivedData, и она будет восстановлена, если что-нибудь сломается.

Кроме того, если он по-прежнему не работает, очистка проекта (не сборка) после выполнения команды является хорошей идеей.

+0

Спасибо за объяснение - всегда лучше понять, что происходит, а не слепо копировать вставку команды терминала. –

108

Я нашел это решение на форуме Apple,

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

или

xattr -rc ~/Library/Developer/Xcode/DerivedData 
+1

работал для меня .. – Clement

+1

Кто этот гений, который нашел это? Большое спасибо! – Dmitry

+1

Это сработало и для меня. Ты спасатель! Я потратил несколько часов на это. – Jackson

12

Для меня работал так:

cd ~/Library/Developer/Xcode/DerivedData 
xattr -dr com.apple.FinderInfo * 

, а затем восстановить

+0

Работал для меня на macOS Sierra. Благодаря! – pdesantis

+0

Работал и для меня (macOS Sierra). Спасибо .. –

+0

Saver для меня. Я все пробовал. Запуск 'xattr -c *' также не помог. – Rajal

20

Решение 1:

Вы можете попробовать указать конкретную команду bash, как ответил Марк МакКоркл.

В терминале, корневой каталог GOTO проекта и выполнить один на один команда

find . -type f -name '*.jpeg' -exec xattr -c {} \; 
    find . -type f -name '*.png' -exec xattr -c {} \; 
    find . -type f -name '*.tif' -exec xattr -c {} \; 

Clean Xcode и Re Build. Готово.

Решение 2:

Вы можете решить эту проблему, находя файлы, которые содержат информацию искателя.

В терминале, Гото проекта корневого каталога и выполнить

ls [email protected] . > kundapura.txt 

Это создает kundapura.txt в текущем каталоге. Теперь найдите com.apple.FinderInfo и очистите эти атрибуты для всех файлов.Вы можете сделать это так:

xattr -c <filename> 
Example: xattr -c guru.png 

После того, как вы очистите все, вы сможете ввести код. Cheers

+1

Решение 1 - работал для меня. Благодаря! –

+1

Первое решение работало для меня на macOS Sierra. Это была проблема с файлами ** .png **. Большое спасибо! – JonyMateos

+0

Решение 1 работало и на меня. Ничего больше в этом списке –

3

У меня была эта проблема с одним файлом из пакета CocoaPods. Я обновил CocoaPods до последней версии и выполните команду:

pod install 

после того, проблема исчезла.

+1

Выполнение этого запуска Cmd + shift + k (т. Е. Чистый) в моем проекте в Xcode для меня работало –

9

Для этого существует более постоянное исправление. Исправление атрибутов в DerivedData работает, но проблема продолжает возвращаться. Что вам нужно сделать, так это перейти к каталогу, показанному при получении «ресурсной вилки», информации Finder или подобного детрита, которая не разрешена », той, которая содержит файл .App. Затем выполнить ...

-lr MyAppName.App некоторого атрибута

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

xattr -rc.

Затем это исправляет файлы ORIGINAL. Затем перестроить следует нормально. Затем он также должен правильно перестроить архив.

+0

Это единственное, что было предложено здесь для меня! Спасибо! – rozmichelle

+1

Работал для меня. Culprit файлы, где файлы значков находятся в папке Images.xcassets. –

+0

Ничего не было указано, когда я запускал 'xattr -lr MyAppName.app' – arnoldbird

0

В моем случае,

Перейти к

  • Xcode предпочтение

  • Местоположение

  • Нажмите на Project Path стрелка

  • В DerivedData поиска папки для проект n AME

  • Выберите папку проекта, щелкните правой кнопкой мыши и Переместить в корзину

Готово!

0

Я столкнулся с этой ошибкой на macOS Sierra 10.12.3, Xcode 8.2. Фиксация DerivedData не работает для меня.

После того как я удалил просроченный компании Apple Worldwide Developer Relations сертификатной сертификат в Keychain Access пошла ошибка прочь.

2

в моем случае проблема была с Provisioning Profiles и счета, я установил, выполнив следующие действия:

  1. Xcode Настройки -> Accounts-> Удалить уже добавили учетную запись и добавить его снова
  2. Создать новый Provisioning профили и устанавливается в Xcode
  3. чистый проект и восстановить его
+1

У меня была эта же проблема. Когда я увидел в «Аккаунтах», он снова сказал мне, что сеанс истек. –

0

Иногда, даже если вы фиксированной и/или имели правильный код подписывания сделано, тыс e проблема может скрываться в сторонних пакетах.

Если вы внимательно изучите свою ошибку сборки, вы можете найти имя сторонних библиотек в сообщении об ошибке.

В этом случае вы должны снова создать свои сторонние библиотеки. Например, в моем случае обновите его с помощью carthage update, и теперь сборка выполнена правильно.

2

Я хочу показать мой ответ, потому что это может представлять интерес (я потратил много времени с этой ошибкой)

Error screenshot

Ни один из предыдущих ответов (которые имеют высокий балл) имеет был полезен для меня.

Возможно, они верны, но они не решили мою проблему.

Происхождение:

Я добавил новую цель моего приложения IOS: Шеззаде

Когда я добавил PNG изображений Имущества. xcassets, произошла ошибка.

Решение:

Сделайте копию PNG изображений с "Apple Preview App" и снимите флажок Alpha.

Preview App screenshot

Сообщение об ошибке исчезает.

Preview App screenshot

+0

это действительно полезно. Решила мою проблему :) Счастливое кодирование. – PJR

Смежные вопросы