iOS code signing fails: "A sealed resource is missing or invalid."

Joze picture Joze · Mar 4, 2011 · Viewed 14k times · Source

I have been with this problem already 8 hours unable to solve it.

Whats Cool JLD$ codesign -vvvv build/Distribution-iphoneos/Whats\ cool\?.app
build/Distribution-iphoneos/Whats cool?.app: a sealed resource is missing or invalid
/Users/JLD/Desktop/iOS Development/Whats Cool/build/Distribution-iphoneos/Whats
cool?.app/Whats cool?: resource modified

I have tried the solutions posted on all these threads to no avail:

I even tried recreating the whole project again redoing all the IB connections and nothing works! It builds everything, but it is unable to code sign it! So I'm unable to upload it through the AppLoader.

I am doing all these following the instructions found at the provisioning profile on the Distribute application page.

I even tried building from another Mac. I have my distribution profile and my distribution certificate both set to WildCard. But it still doesn't work. I made a new app under a different name with another Bundle ID to no avail. I don't know what to try anymore! Thank you future problem solver! I know you are there so come to my aid, I'll thank you forever!

UPDATE: I tried to make the new project from scratch. Copying the source code and remaking all the connections on IB to no avail. I even followed this link with instructions:

Unsuccessful. I don't know what else to do. I'm even considering using one technical incident to solve this problem once and for all.

Answer

benzado picture benzado · Aug 10, 2011

I just experienced this error trying to sign an archive with Xcode 4 on Lion. The problem turned out to be related to the fact that the archive had been zipped on one machine and transported to another --- the zip utility did not support symbolic links, and the app code signature uses a symlink inside the bundle, so the unzipped archive was invalid.

Possible solutions are:

  1. Use the Finder's contextual (ctrl-click/right-click) menu and choose "Compress" to create the zip file, or:
  2. Use the command line version of zip and provide it with the -y argument to preserve symbolic links.