Also, you might want to throw away the original copy of the ist in the application package framework, since it's basically in the wrong place. To fix the Qt frameworks, you should copy the ist to a Resources folder in the specific version of the framework, not to the top level of the framework (as has been previously suggested). This in turn can result in bad behaviors like replacing the top level symlink of a framework with an additional copy of the signed framework binary. For some odd reason, the Qt frameworks as built do not conform to Apple's framework norms and will confuse the codesign tool. However before using this option (or any of the other suggested signing techniques), you must fix the Qt frameworks as per other posts on this thread. This option (which I believe was introduced with Mavericks) will sign all of the binaries in a target package, including the main application binary, and its frameworks and plugins. The simplest way to solve this problem is to use the -deep codesign option. Use the codesign -deep option to sign all the binaries in the package at once, including frameworks and plugins.Fix the malformed Qt frameworks by moving the ist to the Resources folder at the current version level in the framework.MyApplication.app/Contents/Frameworks/amework/Versions/5/QtConcurrent: satisfies its Designated RequirementĪccording to it seems that I should sign the framework bundle something like this $ codesign -force -verify -verbose -sign "Developer ID Application: My ID" MyApplication.app/Contents/Frameworks/amework/Versions/5īut this results in MyApplication.app/Contents/Frameworks/amework/Versions/5: bundle format unrecognized, invalid, or unsuitable MyApplication.app/Contents/Frameworks/amework/Versions/5/QtConcurrent: valid on disk If I check the signature: $codesign -vvv MyApplication.app/Contents/Frameworks/amework/Versions/5/QtConcurrent In subcomponent: /Users/username/Dev/Apps/MyApplication/MyApplication.app/Contents/Frameworks/amework MyApplication.app: bundle format unrecognized, invalid, or unsuitable I can use codesign on all the frameworks and everything inside the bundle but when I come to sign the bundle I get an error: $ codesign -force -verify -verbose -sign "Developer ID Application: My ID" MyApplication.app
After using macdeployqt I sign my application to avoid Gatekeeper problems.