为什么 "macOS folder archive" 没有使用 install4j 签名

Why "macOS folder archive" doesn't get signed with install4j

我不明白为什么 archive/macOS 文件夹存档 没有被 install4j 签名,即使它在一般设置中被指示为 "Sign macOS media files"。在构建过程中查看日志,我确实看到 DMG 已签名。 签名证书很好,因为我已经毫无问题地签署了另一个应用程序,唯一的区别是媒体是 installer/macOS 文件夹。所以它签署了 DMG 而没有签署里面的应用程序文件夹?重点是什么?我一定是遗漏了什么。

我正在尝试为用户实现一个非常简单的流程 - 单击 dmg,将应用程序存档拖到应用程序,然后单击 运行。无需安装程序。在从互联网上下载 dmg 之前,它工作得很好,Mac 认为它很危险,因为没有开发人员签名并且乐趣开始了......我如何使用 install4j 制作这个签名?

非常感谢任何帮助。 (install4j版本为6.1.6)

I am trying to achieve a very simple flow for the user - click on dmg, drag the >app archive to the Applications and click to run.

然后使用 macOS 单一捆绑包存档,而不是 macOS 文件夹安装程序。

So it signs the DMG and doesn't sign the app folder inside?

不,DMG 和所有生成的启动器都由 install4j 为 macOS 文件夹安装程序签名。

注意:macOS 10.14需要安装4j 7.0.6+,否则会报错


在评论中讨论后更新:

在您的例子中,可执行文件是一个 shell 脚本。对于 mach-o 二进制文件,macOS 上的 codesign 工具将签名直接保存在二进制文件中,对于非 mach-o 二进制文件,它保存文件的扩展 HFS+ 属性 Info.plist。即使您在 macOS 上构建,这些扩展属性也不会被 install4j 获取,它们将在运行时丢失并且签名将无效。

恐怕唯一的出路是使用生成的启动器。