[Development] Important OSX 10.9.5 & 10.10 codesign changes
Adam Strzelecki
ono at java.pl
Thu Sep 18 19:31:33 CEST 2014
Briefly - current Qt5 frameworks bundles structure is invalid & cannot be code signed anymore in 10.9.5 & 10.10. Also
Please have a look at Apple's recent TN2206:
https://developer.apple.com/library/mac/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG205
And reference for proper bundle structure:
https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
More details:
(1) Qt Creator signature is rejected
$ spctl -avv /Applications/Qt\ Creator.app
/Applications/Qt Creator.app: rejected
source=obsolete resource envelope
origin=Developer ID Application: Digia Plc
(2) bundles & Qt SDK built QtXXX.framework structure is invalid: Info.plist is expected to be in Resources/ not in Contents/. Resources/ must be present and need to be symlinked to bundle's root.
PRESENT:
QtCore.framework/
Contents/
Info.plist
QtCore -> Versions/Current/QtCore
Versions/
Current -> 5
5/
QtCore
Causing:
$ codesign --deep -f -s 'Developer ID' -vvv /tmp/QtCore.framework
/tmp/QtCore.framework: unsealed contents present in the bundle root
EXPECTED:
QtCore.framework/
QtCore -> Versions/Current/QtCore
Resources -> Versions/Current/Resources
Versions/
Current -> 5
5/
QtCore
Resources/
Info.plist
Once bundle layout is changed as above then codesign succeeds.
I think this deserves attention because it will likely cause all existing Qt apps to be rejected by Gatekeeper in 10.9.5 & 10.10.
Regards,
--
Adam
More information about the Development
mailing list