使用后macdeployqt我签署我的应用程序,以避免Gatekeeper问题.
我可以使用codesign所有框架和捆绑包内的所有内容,但是当我来签署捆绑包时,我收到一个错误:
$ codesign --force --verify --verbose --sign "Developer ID Application: My ID" MyApplication.app
MyApplication.app: bundle format unrecognized, invalid, or unsuitable
In subcomponent: /Users/username/Dev/Apps/MyApplication/MyApplication.app/Contents/Frameworks/QtConcurrent.framework
Run Code Online (Sandbox Code Playgroud)
如果我检查签名:
$codesign -vvv MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent
MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent: valid on disk
MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent: satisfies its Designated Requirement
Run Code Online (Sandbox Code Playgroud)
根据http://furbo.org/2013/10/17/code-signing-and-mavericks/,似乎我应该签署类似这样的框架包
$ codesign --force --verify --verbose --sign "Developer ID Application: My ID" MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5
Run Code Online (Sandbox Code Playgroud)
但这会导致
MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5: bundle format unrecognized, invalid, or unsuitable
Run Code Online (Sandbox Code Playgroud)