首页 > 解决方案 > 为什么“macOS 文件夹存档”没有使用 install4j 签名

问题描述

我无法弄清楚为什么归档/macOS 文件夹归档没有被 install4j 签名,即使它被指示在常规设置中“签署 macOS 媒体文件”。在构建过程中查看日志,我确实看到 DMG 已签名。签名证书很好,因为我有另一个应用程序签名没有问题,唯一的区别是媒体是installer/macOS folder。所以它签署了DMG并且没有签署里面的app文件夹?重点是什么?我肯定错过了什么。

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

任何帮助是极大的赞赏。(install4j 版本为 6.1.6)

标签: macoscode-signinginstall4j

解决方案


我正在尝试为用户实现一个非常简单的流程 - 单击 dmg,将 >app 存档拖到应用程序并单击运行。

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

所以它签署了DMG并且没有签署里面的app文件夹?

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

注意:对于 macOS 10.14,您需要 install4j 7.0.6+,否则签名会被报告为无效。


在评论中讨论后更新:

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

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


推荐阅读