使用后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) 我有一个需要签名的QT应用程序.以前我在Mac上使用codesign实用程序来签署证书.随着山狮的发布,Apple正迫使开发者与开发者ID签约以避免关守警告.
我在Apple上发现了这篇博客文章:https://developer.apple.com/library/mac/#documentation/ToolsLanguages/Conceptual/OSXWorkflowGuide/DistributingApplicationsOutside/DistributingApplicationsOutside.html
它仅适用于基于Xcode的项目.我正在使用Qt创建者,并且没有适当的文档可用于在Xcode之外使用开发者ID进行签名.
有没有人遇到同样的问题?
我正在尝试使用OSX在我的Java应用程序中签名codesign.我已经向Apple支付了100美元的赎金,并获得了我的代码签名证书.然后我codesign像这样使用它来强制它签署以前使用osxappbundleMaven插件创建的应用程序:
codesign -f -s "Peter Brewer" FHAES.app
Run Code Online (Sandbox Code Playgroud)
当我尝试通过执行以下操作来验证签名时,这似乎完成了这项工作:
codesign --display --verbose=4 FHAES.app
Run Code Online (Sandbox Code Playgroud)
...我收到以下回复:
Executable=/Applications/FHAES.app/Contents/MacOS/JavaApplicationStub
Identifier=FHAES
Format=bundle with Mach-O universal (i386 x86_64)
CodeDirectory v=20100 size=174 flags=0x0(none) hashes=3+3 location=embedded
Hash type=sha1 size=20
CDHash=de2cd9909fcc4bfab1f690c518a6c6c3b3097372
Signature size=4311
Authority=Mac Developer: Peter Brewer (N35745G8TD)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=Jan 10, 2014, 4:46:57 PM
Info.plist entries=10
Sealed Resources version=2 rules=12 files=2
Internal requirements count=1 size=164
Run Code Online (Sandbox Code Playgroud)
除非我误解,否则这似乎表明它已经成功签署了Apple授权的证书.然而,当我尝试启动应用程序时,我得到通常的"无法打开,因为它来自一个身份不明的开发人员"错误.
谁能告诉我我做错了什么?
在如果任何人都可以一个相关的说明,请执行codesign在Linux中,我会感激不尽.我鄙视Apple破坏我的一键式跨平台构建系统,甚至比勒索我还要支付他们的证书还要多!