Xcode 8 can't archive “Command /usr/bin/codesign failed with exit code 1”

我怕爱的太早我们不能终老 提交于 2019-11-30 10:20:38

问题


I've got a serious problem on Xcode 8 on macOS Sierra. when I try to build my app, I get the following issue.

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

then I did https://forums.developer.apple.com/thread/48905 in the terminal as the following and it worked. but once I clean, the issue comes back.

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

ls -al@ *

xattr -c *

and this solution doesn't work for archive with the following issue. is there any solution for it?

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

回答1:


I found this solution in the Apple forum

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

or

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



回答2:


Solution 1:

You can try file specific bash command like Mark McCorkle answered.

In terminal, goto project's root directory and execute one by one command

  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 and Re Build. Done.

Solution 2:

You can fix this problem by finding files which holds finder information.

In terminal, goto project root directory and execute

ls -alR@ . > kundapura.txt

This creates kundapura.txt in current directory. Now search for com.apple.FinderInfo and clear this attributes for all files. You can do it like this

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

Once you clear all then you are able to code sign. Cheers




回答3:


For me worked this:

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

And then rebuild




回答4:


There is a more permanent fix for this. Fixing the attributes in the DerivedData works, but the problem keeps coming back. What you need to do is go to the directory shown when you get the 'resource fork, Finder information, or similar detritus not allowed', the one that contains the .App file. Then execute...

xattr -lr MyAppName.App

You can then see the resource files that have the attributes that need removing. Don't remove them from the .App file though, find the original files in your project and open the directory that contains them and execute...

xattr -rc .

This then fixes the ORIGINAL files. Rebuild should then function ok. It should also then rebuild properly for archive too.




回答5:


This gets caused by some resource files having extra attributes on the file system, probably caused by macOS Sierra (as I started having it after upgrading to macOS Sierra).

Try executing xattr -c * on the whole DerivedData folder (as stated by the answer in https://forums.developer.apple.com/message/178039#178039):

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

Removing attributes only on the build folder fixed the issue for me when debugging. Removing attributes on the whole DerivedData folder fixed it for me in archiving too. Please note that it may cause other consequences (albeit highly unlikely), but you can always delete the DerivedData folder and it will be regenerated, in case anything gets broken.

Also, if it still fails, cleaning the project (not the build folder) after executing the command is a good idea.




回答6:


I had this problem with one file from CocoaPods bundle. I've updated CocoaPods to the latest version and run:

pod install

after that, the problem has gone away.




回答7:


in my case issue was with Provisioning Profiles and Account, i fixed by doing these steps:

  1. Xcode Preferences ->Accounts->Delete already added account and add it again
  2. Generate new Provisioning Profiles and installed in Xcode
  3. clean project and rebuild it



回答8:


I want to show my answer because it may be of interest (I have wasted a lot of time with this error)

None of the previous answers (which have a high score) have been useful to me.

They may be correct, but they haven't solved my problem.

Origin:

I added a new Target to my iOS application: iMessage

When I added png images to the Assets. xcassets, the error occurred.

Solution:

Make a copy of png images with "Apple Preview App" and uncheck Alpha.

Error message disappears.




回答9:


In my case,

Go to

  • Xcode preference

  • Locations

  • Click on Project Path arrow

  • In DerivedData folder search for your project name

  • Select project folder, Right click and Move to trash

Done!




回答10:


I encountered this error on macOS Sierra 10.12.3, Xcode 8.2. Fixing the DerivedData did not work for me.

After I deleted an expired Apple Worldwide Developer Relations Certificate Authority certificate in Keychain Access the error went away.




回答11:


Sometimes even if you fixed and/or had correct code-signing done, the problem might lurk in 3rd-party packages.

If you closely check out your build error, you might find the name of the 3rd-party libraries on the error message.

In this case, you must build your 3rd-party libraries again. For example in my case, update it via carthage update and now the build succeeded properly.



来源:https://stackoverflow.com/questions/39449665/xcode-8-cant-archive-command-usr-bin-codesign-failed-with-exit-code-1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!