Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codesign: What are unsealed contents?

I have just upgraded to XCode 6 and tried to build my Developer ID signed Mac app. However, I now get the following codesign error:

unsealed contents present in the root directory of an embedded framework

This applies to the Dropbox.framework that I use. Obviously that could not be signed. What does the error mean? What is wrong?

like image 225
codingFriend1 Avatar asked Sep 20 '14 15:09

codingFriend1


4 Answers

Have a look at OS X Code Signing In Depth

Beginning with OS X version 10.9.5, there will be changes in how OS X recognizes signed apps

Structure your bundle according to the expectations for OS X version 10.9 or later:

  • Only include signed code in directories that should contain signed code.
  • Only include resources in directories that should contain
    resources.
  • Do not use the --resource-rules flag or ResourceRules.plist. They have been obsoleted and will be rejected.
like image 75
Parag Bafna Avatar answered Nov 17 '22 19:11

Parag Bafna


The problem is the version.txt file that resides in the Dropbox.framework. While this is useful to know which version the framework is, it seems no longer to be OK for codesigning.

When I removed the file everything worked fine again.

like image 22
codingFriend1 Avatar answered Nov 17 '22 20:11

codingFriend1


Had the same problem for several hours today, as I tried to adapt a pre-Yosemite .framework bundle to Yosemite. In the end, the problem was the symlinks I made, not strictly files in the directory.

Initially, the package had a broken symlink in its root directory. I fixed it up.

The symlink I added:

Headers -> Versions/Current/Headers/

What it needed to be:

Headers -> Versions/Current/Headers

That extra slash is the killer.

Note that this bit me twice in two different spots: I also had

Current -> 1.8.0/

where I needed

Current -> 1.8.0

I'm not much of a *nixer, so maybe this is common sense, but hopefully it helps other windows devs like myself.

like image 8
ArtHare Avatar answered Nov 17 '22 20:11

ArtHare


I ran into a similar issue today... my error was "unsealed contents present in the bundle root". The fix for me was to remove the custom icon I had on on my app. AppName.app/Icon? was corrupt somehow...

like image 2
Sonic84 Avatar answered Nov 17 '22 20:11

Sonic84