2

我有我的第一个跨平台应用程序准备发布,使用 Qt 4.7.4 开发,使用 Qt Creator(不是 Xcode)。我以为我已经准备好了一切:我有一个可以运行macdeployqt并生成 .dmg 的脚本,效果很好。我不打算将此应用程序放在 Mac App Store 中。用户只需从我们的网站下载 .dmg。

但是,在 Mac OS X 10.8 Mountain Lion 上,如果我没有与我的应用关联的开发者 ID,Gatekeeper 的默认设置会给我的用户造成混淆。

我用谷歌搜索了很多,对我需要做什么感到很困惑。我以前从未对代码签名做过任何事情,而且很少使用 Mac 的钥匙串。获取已完成的 Qt 应用程序并使其与开发人员 ID 相关联的步骤是什么,因此 Gatekeeper 在其默认设置下会对我的 dmg 感到满意而不会使我的用户感到困惑?

4

1 回答 1

2

您需要三个步骤: 1. 签署包本身 2. 签署包内的 .dylib 二进制文件 3. 签署 Qt 框架(主要是包内的 Qt* 等所有内容)

所有三个步骤中使用的命令是:

codesign --force --verify --verbose --sign 'YOUR IDENTITY HERE' HelloWorld.app

其他文件(.dylibs 和 Qt 框架)的相似之处见man codesign以获得详细解释。您应该已经生成了一个证书并将其包含在您的 Keychan 中。如果您不知道从哪里获得证书,那么……那是另一个话题。

编辑:在此处添加了更详细的文章。

于 2014-04-30T13:19:25.373 回答