【发布时间】:2013-11-07 08:42:56
【问题描述】:
在使用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
如果我检查签名:
$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
根据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
但这会导致
MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5: bundle format unrecognized, invalid, or unsuitable
【问题讨论】:
-
你让它在 10.8 上工作?
-
是的。 Mavericks 的代码签名已更改,现在您必须签署框架包。查看 furbo.org 的链接
标签: macos qt code-signing