简体   繁体   中英

Xcode 10, Command CodeSign failed with a nonzero exit code

Every time I build a console is showing this message.

CodeSign /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app (in target: Desker) cd /Users/admin/Desktop/AppStoreBuild/Project201 export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

Signing Identity: "-"

/usr/bin/codesign --force --sign - --entitlements /Users/admin/Desktop/AppStoreBuild/Project201/build/Project.build/Debug-iphonesimulator/Project.build/Project.app.xcent --timestamp=none /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app

/Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app: resource fork, Finder information, or similar detritus not allowed Command CodeSign failed with a nonzero exit code

... Is there any way to identify the cause of this failure? It's showing Signing Identity: "-" when I try to run in the simulator also. why do we need signing identity in simulator? And one more thing is if I quit Xcode and restart, it will build properly when I change code or add a method will again build failing.

I had that problem and Xcode failed to compile on the device, but on simulator, it worked fine.

I solved with these steps:

  1. Open keychain access.
  2. Lock the 'login' keychain.
  3. Unlock it, enter your PC account password.
  4. Clean Project in the product menu.
  5. Build it Again.

And after that everything works fine.

None of the listed solutions worked for me. In another thread it was pointed out that including a folder named "resources" in the project causes this error. After renaming my "resources" folder, the error went away.

For some people this happens after adding a .png file to an existing .scn assets folder, plus also a .wav file.

Xcode, owing to increased security, doesn't like extensions on files. You can fix these one at a time by cd 'ing into the directory where the file is and removing their extended file attributes using the 'xattr' command in Terminal.

To Remove All Extended Attributes On a Single File

Use xattr with the -c flag to "clear" the attributes:

xattr -c yourfile.txt

To Remove All Extended Attributes On Many Files

To recursively remove extended attributes on all files in a directory, combine the -c "clear" flag with the -r recursive flag:

xattr -rc /path/to/directory

Fore more detail, see How do I remove the "extended attributes" on a file in Mac OS X?

This solution will also help when getting the code signing error: "resource fork, Finder information, or similar detritus not allowed."

Apple documentation: https://developer.apple.com/library/archive/qa/qa1940/_index.html

This happened to me just today, only after I added a .png image with 'hide extension' ticked in the get info. (Right click image) Ths image was added to the file directory of my Xcode project.

When unticked box and re-adding the the .png image to directory of Xcode, I then Cleaned and Built and worked fine after that, a very strange bug if you ask me.

Fix

Remove extended file attributes in your resource files for good, not in the compiled application bundle:

  1. Open Terminal

  2. Change directory to the root of your source files

    $ cd /Users/rjobidon/Documents/My\\ Project

  3. List all extended attributes

$ xattr -lr .
  1. Remove all extended attributes
$ xattr -cr .

Xcode errors

  • "Command CodeSign failed with a nonzero exit code"
  • "Resource fork, Finder information, or similar detritus not allowed"

Cause

Apple introduced a security hardening change, thus code signing no longer allows any file in an app bundle to have an extended attribute containing a resource fork or Finder info.

Sources

Try cleaning the project:

1. shift + cmd + k
2. shift + cmd + Alt + k 

Then try to run your project again. Hope this will fix the problem.

This issue happened to me after adding .dae and .png files and converting .dae with XCode Editor to SceneKit scene file format (.scn).

After doing some more research I found the solution here - https://forums.developer.apple.com/thread/109951#336225

Steps to solve the issue:

  1. In XCode go to Preferences
  2. Click on Locations tab
  3. In Command Line Tools select from the drop down XCode 10.1

None of the popular solutions worked.
In my case, I resolved the error by going into the

XCode -> Preferences -> Accounts -> Manage Certificates

and added a (+) to iOS development .

In Xcode: Go to Preferences Logout of the current user.

Close Xcode

In Keychain: Go to Login and All items

        - Sort by kind
             - remove "Apple Worldwide Developer Relation Certification Authority"
             - remove "Developer ID Certification Authority"
             - remove "iPhone Developer ...."

Open Xcode

Go to Preferences and Login to you user apple account

  • This will reload your developer certificates you previous deleted Rebuild the project (Should be a successful build)

Run the build on your native device

This is because Code signing no longer allows any file in an app bundle to have an extended attribute containing a resource fork or Finder info.

To see which files are causing this error, go to .app folder, normally is like: /Users/XXXX/Library/Developer/Xcode/DerivedData/MyProject-ckbzynxqjmstxigbdwwkcsozlego/Build/Products/Debug-maccatalyst/ (mine is Catalyst project) In Terminal,

cd <above path>
xattr -lr .

You will see some files has extended attribute:

./MyProject.app/Contents/Resources/shopping_cart.png: com.apple.lastuseddate#PS: 00000000 BE 31 D5 5E 00 00 00 00 D0 40 FE 39 00 00 00 00 |.1.^.....@.9....|

Then go to your project folder or referenced folder for those files, remove extended attribute:

cd /Users/XXXX/Work/MyProject
xattr -cr .

After clean all referenced folders, go to Xcode and rebuild.

我的解决方案是在不保存的情况下重新启动 macOS

I'm unsure of what causes this issue but one method I used to resolve the porblem successfully was to run pod update on my cocoa pods.

The error (for me anyway) was showing a problem with one of the pods signing. Updating the pods resolved that signing issue.

pod update [PODNAME] //For an individual pod

or

pod update //For all pods.

Hopefully, this will help someone who is having the same "Command CodeSign failed with a nonzero exit code" error.

In my case was the following errors lines:

Signing Identity: "-"

…..mobile.app: resource fork, Finder information, or similar detritus not allowed

Command CodeSign failed with a nonzero exit code

the problem was that in the resources folder I had some files with .png extension, which was hidden on the defaults.

Find file in FINDER, mark it -> cmd+i -> unchek Hide extension

after that, return in Xcode -> kmd + shift + K and rebuild.

I hope I've been helpful!

After trying everything, my solution was removing some PNG files, build and run (ok) and adding again the PNG images. Weird!

I will post my solution. This solution worked for me, since none of the previous worked. The issue first occurred right after last update of XCode cli toolset (not sure if this is the confirmation bias).

I tried some of the instructions (ie. Unlock Keychain Trick).

What worked for me in a case of error:

  • Command CodeSign failed with a nonzero exit code (Something.framework)

    • Trash DD Content; rm -rf /Users/dx/Library/Developer/Xcode/DerivedData/*
    • Restart XCode
    • Build Phases => Link Binary With Libraries
      • Something.framework ,
    • Set embed value in General => Something.framework => EMBED
      • Do not embed
    • Press Cmd+B (Build Project)
    • Hopefully Built Successful

I, too, saw this error after adding a mixture of .jpg and .png images to the art.scnassets folder, making code changes, and removing those changes via Xcode's Source Control > Discard All Changes... menu.

I tried the other fixes in this thread but, ultimately, I had to delete the added .jpg/.png files, clean the project, and rebuild the project to eliminate the errors. I then readded the original .jpg/.png files and I'm now rebuilding the code without issue.

对我来说,我必须转到钥匙串,选择“登录”钥匙串,双击 iOS Developer:myname 键,单击访问控制选项卡并将单选按钮切换为允许所有应用程序访问此项目。

This problem was caused by building my project in the Release schema. It can be caused by other things as well. Try to switch the build schema by going in xCode to Product > Scheme > Edit Scheme. In the "Run" Section located on the left, switch the "Build Configuration" to "Debug". I hope this will help.

None of the above solutions worked for me. After some guess work, I tried (Xcode v10.2.1 cocoapods v1.7.1)

pod deintegrate

followed by

pod install

Then:

  • Opened the workspace in Xcode
  • Cleaned build folder
  • Build the project

No build errors.

For me the solution was the following, having the "Automatically manage sign" flag on:

  1. in the team drop-down of the target, select "None"

  2. re-select the correct development team

After trying almost every suggestion, I found that this works, I guess because Xcode sets up the signing stuff from scratch.

I was experiencing this issue due to the misconfiguration of my Apple Worldwide Developer Relations Certification Authority certificate .

I resolved issue by switching from "Alway Trust" to "Use System Defaults"

Step by Step:

  1. Open KeyChain
  2. Click on "login" keychain (make sure it's unlock - if it's locked Right Click on it and choose "Unlock KeyChain")
  3. Click on Certificates and locate Apple Worldwide Developer Relations Certification Authority certificate
  4. Right click on it and choose Get info
  5. Expand Trust section and change settings to Use System Defaults as per below screenshot

在此处输入图片说明

In my experience, the reason that caused this problem was I wrongly reset the Keychain Access to default, so I lost my development certificate.

How did I solve this?

  1. I cleaned my Apple Development Certificate from Keychain Access
  2. I cleaned my Apple Development private key from Keychain Access
  3. Then I got the new error : Revoke certificate Your account already has an Apple Development signing certificate for this machine, but its private key is not installed in your keychain. Xcode can create a new one after revoking your existing certificate.
  4. Go to Xcode Preference -> Accounts Tab -> Fine the team name under the Apple ID -> Double Click it -> Click the + button at the bottom left of box -> Select App Development
  5. In the team drop-down of the target, select "None"
  6. Re-select the correct development team
  7. Clean the project by shift + cmd + k
  8. Rebuild the project cmd + b

This issue can also occur when upgrade from XCODE 11.x to 12.0. After installation of new version of XCODE, restart system to overcome this issue.

Not sure if this will help anyone - but make sure you have Find Implicit Dependencies checked off. Sometimes this can lead to your project "losing track" of where to look for certain things.


在此处输入图片说明


Once you do this, I suggest then also cleaning your project and rebuilding.

在此处输入图片说明

None of other answers worked. This is what I have done:

  1. deleted my certificate from keychain;
  2. opened Xcode it rebuild certificate;
  3. ran app on device successfully.

就我而言,它是一个损坏的故事板文件

After i copied two .aiff files in a .scnassets group, this error occured. Deletion of the files and a "Clean Build Folder" solves the problem in my case.

This worked for me :) I removed the certificate in keychain access settings. Go to Xcode and clean build the app. Now certificate is again created in keychain access and build gets succeeded with real device.

Just a visualisation

Lock Keychain "login" -> Unlock Keychain "login" -> Always allow

在此处输入图片说明

My Problem was solved

  • Check Automatically manage signing on Target MyProject and Add Team.
  • Check Automatically manage signing on Target MyProjectTest and Add Team.
  • Product -> Clean Build Folder -> Build again or try to run on device.

The problem occurs when you have the wrong/different team on MyProject and MyProjectTest.

Reconnecting your phone prior to rebuilding may also assist with fixing this issue.

In my case it was an accidentally turned on option. I'm using common root .xcconfig files both for iOS and macOS, for the iOS target the Enable hardened runtime option remained on so replacing the line

ENABLE_HARDENED_RUNTIME = YES

by the

ENABLE_HARDENED_RUNTIME[sdk=macosx*] = YES

in the .xcconfig file solved the issue

听起来可能很愚蠢,但是当系统询问时,请不要输入密码。

For me the highest rated answer didn't work.

What did work was to go to Signing and Capabilities -> Team -> add account and add the Apple ID again.

After doing this, when I built again I was asked for my login credentials and the build succeeded.

I tried all of the above soloutions. none of them worked. I figured out that I had 2 keychains. Both of them had certificates and keys. I´ve deleted one keychain and removed all its key and certificates and just kept the "login" keychain. I´ve also removed everything from this keychain and then redownloaded the certificate from the apple developer page. After doing so everything was imported just into this ONE keychain. Cleaned Xcode, started. no problems!

It works for me by delete all the apple developer Certification in the keychain. and generate it in the Xcode.

I had just added the SystemConfiguration.framework and Reachability h and m when the issue began. I tried all of these solutions and ended up removing systemConfiguration.framework and that fixed it for me. The Reachability h and m are still in the project.

What worked for me (Xcode 11.3.1 on Catalina 10.15.5.)

FYI - I have no team. I went to "Signing and Capabilities" for the build and the "Automatically manage signing" was already unchecked.

I checked it, which brought up a menu saying that it will reset some build settings. I clicked "Enable Automatic". Then I went back and unchecked the "Automatically manage signing" again to put it back to the way it was.

Worked after that.

None of the bulk action solutions have worked for me. The extended attributes don't get removed. Each time this has happened for me it was a problem with one or more 3D models (.dae) or a .png file.

I have found that removing attributes (detritus) one file at a time works out to be faster in the end. I had to switch to the art.scnassets directory in terminal. (You can drag it from finder to terminal) For each suspect (new) file, I ran "xattr -lr filename.ext" to see if it had extended attributes. If so, I ran "xattr -cr filename.ext" to remove them. It has worked every time, but only by removing the attributes for each file. Then use Product - Clean Build Folder, and Build again. It has worked every time without fail.

Finaly!!

I guess xcode doesn't allow running an app on local iPhone if you are not using iOS Certificate! I had only Distribution certificate and everything was fine except this error when trying to run on local device. After I've made an iOS Developer certificate the issue went away

My case: I have removed the certificate, which is included on the profile.
My solution:

  • Remove all profile at: /Users/{yourusername}/Library/MobileDevice/Provisioning Profiles
  • Re-add profile.

What worked for me - found elsewhere - was very simple:

flutter clean

(run it in Terminal from the base dir of the project)

Note that Clean Project in XCode did not make a difference, tried that first.

Amazingly, none of the 30 answers so far mentions the issue I faced and the corresponding solution. For me, the exact error message was errSecInternalComponent Command CodeSign failed with a nonzero exit code .

The error message appeared when running a command-line build from a remote (ssh) login. Running the same build command in the macOS desktop terminal window, caused a dialog box asking me for my password to pop up. After entering my password, the build succeeded.

我仅通过将Resources文件夹(而不是组)重命名为任何其他名称(例如ResourceResources123等)来解决此问题。

Added png file to my xcode project and saw this "blue screen":)

"Command CodeSign failed with a nonzero exit code. Xcode 14."

Deleted png and everything is ok. Magic.)

I opened "Keychain access" and deleted the expired certificates. Then did a build and this error disappeared.

In my case, some special marks in the png files output by Paint.app causes this happen.

My solution is

step 1. drag the png files(if you do not know which png, please drag all png files in your project resource folder/group) caused the error happens to Preview.app

在此处输入图片说明

step 2. adjust image size,

在此处输入图片说明

step 3. enlarge 2 times for width and height, click 'Ok' button

在此处输入图片说明

step 4. set back to original width and height, click 'Ok' button

在此处输入图片说明

step 5. repeat step 3 and step 4 for all png images

step 6. clean project and build again

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM