为 App 签名以通过“门禁”验证

macOS 上的“门禁”会检查在 Mac App Store 以外地方分发的 App 中是否配有 Developer ID 证书,避免用户下载和安装恶意软件。在分发任何 App、插件或安装器软件包之前,请务必对它们进行签名,以便让“门禁”知道安装这些内容是安全的。您还可以将在 macOS Mojave 或更高版本上运行的 App 提交到 Apple 进行公证,进一步提高用户对您 App 的信心。

为分发做好准备

当用户打开从 Mac App Store 以外地方下载的 App、插件或安装器软件包时,“门禁”能通过 Developer ID 证书,让用户确认您是受信任的开发者。使用 Developer ID 证书签名的软件还可以利用 CloudKit 和 Apple 推送通知等高级功能。

生成 Developer ID 证书

您可以通过 Xcode 或在开发者帐户的“证书、标识符和描述文件”部分中生成 Developer ID 证书。请注意,您必须是 Apple Developer Program 中开发团队的帐户持有人,才能生成此证书。

了解如何创建和导出证书

为 App 签名并进行测试

在 Xcode 中,您可以启用强化版运行时功能,并对这个 App 所需的各种功能进行授权。然后归档您的 App 并使用 Mac 来测试以 Developer ID 签名的 App 启动时的用户体验。

了解如何准备分发您的 App

Xcode

要构建面向 macOS 的 App 并提交到 Apple 进行公证,请使用 Mac App Store 上提供的 Xcode 10 或更高版本。

对您的软件进行公证

将软件提交到 Apple 进行公证,从而进一步提高用户对您软件的信心。公证服务会自动扫描您使用 Developer ID 签名的软件,并进行安全检查。当可以导出进行分发时,您的软件会被分配一个凭证,以便让“门禁”知道它已经过公证。

有关上传 Mac 软件进行公证的分步详情,请查看《在分发前对 macOS 软件进行公证》《Xcode 文档》

通过 Xcode 提交

未发布的软件。使用导出流程或 xcodebuild,可以轻松对未发布的软件进行公证。xcrun altool 命令行工具支持通过定制构建工作流程进行上传,您也可以使用 xcrun stapler 将凭证分配给软件包。

已发布的软件。要提交已发布的软件,请使用 xcrun altool 命令行工具上传软件。支持的文件类型有多种,包括 ZIP、PKG 和 DMG 等,因此您可以上传已分发给用户的同样的软件包。

查看上传日志

除检查是否有恶意软件之外,公证服务还可以检查出可能妨碍软件正确安装的常见代码签名问题。如果您上传的软件包未通过公证,请检查状态日志来了解详情。

了解如何解决常见公证问题

要求

macOS Mojave 10.14 或更高版本上,用户首次打开经过公证的 App、安装器软件包或磁盘映像时,他们会看到“门禁”对话框,确信这个内容不是已知的恶意软件。

使用 Developer ID 进行签名的 Mac App、安装器软件包和内核扩展* 也必须获得 Apple 公证,才能默认在 macOS Catalina 上运行。