Version: Unity 6.0 (6000.0)
语言 : 中文
代码签名应用程序
使用 altool 进行公证

使用 Xcode 和命令行工具进行公证

您必须对应用程序进行公证才能在 Mac App Store 之外分发应用程序。该过程会验证应用程序,确保其具有开发者 ID 代码签名并且不包含恶意内容。您可以使用 Xcode、Xcode 命令行工具或 Unity Build Automation 对应用程序进行公证。

在构建过程中,Unity 能够生成一个与自身项目对应的 Xcode 项目。您可以使用此 Xcode 项目对应用程序进行公证。按照 macOS 应用程序构建步骤从 Unity 项目创建 Xcode 项目。有关 Xcode 项目公证的信息,请参阅分发前公证 macOS 软件

注意:通过 Mac App Store 分发应用程序不需要公证。Mac App Store 的上传过程包括类似于公证的内容验证。请参阅交付到 Mac App Store 以了解更多信息。

使用 Xcode 命令行工具

如果您无法在 Xcode 环境中对应用程序进行公证,或者希望手动控制公证,可以使用 Xcode 的命令行工具。

为此,您需要以下各项:

压缩应用程序

Apple 要求您在上传应用程序进行公证之前对其进行压缩。要执行此操作,请使用以下 API:

  1. 打开终端并导航到应用程序所在的目录。

  2. 运行以下命令,其中:
    • "application_name.app" 是您构建的应用程序。
    • "application_name.zip" 是要生成的压缩文件的名称。
ditto -c -k 
    --sequesterRsrc 
    --keepParent "application_name.app" "application_name.zip" 

这会压缩应用程序并将压缩文件输出到与该应用程序同一目录下。

生成应用程序密码

为了对应用程序进行公证,Apple 需要特定格式的唯一密码。有关如何生成应用程序密码的信息,请参阅如何生成特定于应用程序的密码。生成的密码采用以下格式:xxxx-xxxx-xxxx-xxxx

公证应用程序

如果您使用的是 Xcode 13 或更高版本,请使用 Apple 的公证工具上传和公证应用程序。有关更多信息,请参阅自定义公证工作流程在旧版本的 macOS 上启用公证

注意:截至 2023 年 11 月 1 日,Apple 已弃用 altool 进行公证。您必须先更新工作流程,之后才能使用公证工具对 macOS 应用程序进行公证。有关更多信息,请参阅迁移到最新公证工具

给应用程序附加票证

对应用程序进行公证后,任何运行该应用程序的设备都可以验证它是否有代码签名,以及是否不包含恶意内容。但是,设备只能在线执行此验证。要让设备在没有互联网连接的情况下验证您的应用程序,您必须给应用程序附加票证。有关附加票证的信息,请参阅将票证附加到分发内容

给应用程序附加票证,

  1. 打开终端并导航到应用程序所在的目录。
  2. 运行以下命令,其中 "ApplicationName.app" 是应用程序的名称:
xcrun stapler staple "ApplicationName.app"

其他资源

代码签名应用程序
使用 altool 进行公证