macOS 代码签名与 DMG 打包
macOS 代码签名与 DMG 打包
如果您想在 App Store 之外分发 macOS 应用程序,则需要使用 Developer ID 证书对其进行签名。该证书由 Apple 颁发,证明您是已知的开发者。当用户下载您的应用时,macOS 会检查此签名并在安全对话框中显示。如果没有有效的签名,macOS 将拒绝运行您的应用,除非用户明确绕过安全设置。
要获取 Developer ID 证书,您需要一个 Apple Developer 帐户,每年费用为 99 美元。拥有帐户后,您可以通过 Apple Developer 门户生成证书。该证书与 codesign 命令行工具一起使用,该工具是 Xcode 的一部分。签名过程会在您的应用程序包中嵌入一个数字签名,macOS 可以验证该签名。
分发 macOS 应用程序最常见的方式是通过 DMG 文件。DMG 是一种磁盘映像,打开时会显示为已挂载的驱动器。用户将应用程序从 DMG 拖到他们的 Applications 文件夹中。要创建 DMG,首先构建并签名您的应用程序,然后使用 hdiutil 命令创建磁盘映像,最后对 DMG 本身进行签名以确保其完整性。
签名过程涉及几个步骤。首先,对应用程序包内的所有框架和库进行签名。然后,对主应用程序可执行文件进行签名。最后,对 DMG 文件进行签名。每一步都使用带有 Developer ID 证书的 codesign 工具。整个过程可以在构建脚本中自动化,这对于持续集成管道至关重要。
