如何在其中对 dmg 和 App 进行代码设计?

How to codesign dmg and App inside it?

我有一个 dmg,里面有应用程序。我已经购买了苹果开发者许可证,并且我已经成功地使用开发者证书签署了 dmg。我检查了它已被 Gatekeeper 签名并接受成功的 dmg。我使用 Sierra 10.12.5 来编码

然后我复制并 运行 安装程序和应用程序。 但是 运行 应用程序抛出无法打开,因为它来自身份不明的开发者。

运行 应用程序抛出身份不明的开发者

codesign --verify --deep  --verbose=2 MyQt.app
MyQt.app: code object is not signed at all
In architecture: x86_64

是否可以对 dmg 进行代码签名并递归地递归包含应用程序在内的所有内容?

您应该使用 Developer ID 证书签署 .app 如果您是团队

,则可以在 developer.apple.com 生成它

codesign --force --deep -s DeveloperIDCertificate --keychain pathToKeychain YourApp.app

--force 将复制您之前的签名

--deep 将对您的内容递归签名

-s DeveloperIDCertificate 将通过身份对应用程序进行签名。应该是这样的:-s 123C3FF2VA

--keychain 是钥匙串数据库文件夹的参数,对于 Sierra 通常是 /Users/username/Library/Keychains/login.keychain-db