请参阅以下有关为 macOS 构建 Unity 应用程序的说明和注意事项。
在为 macOS 构建应用程序前,需留意 Apple 设备之间的芯片组差异。部分 Apple 设备采用 Intel 芯片组,而其他设备则使用 Apple 硅芯片。您可以使用 Unity 来创建特定于架构的构建以及适配 Intel 和 Apple 硅芯片的构建。可用的目标架构包括:
| Architecture | 描述 |
|---|---|
| Intel 64 位 | 使用 Intel 64 位为采用 Intel 芯片组的 Apple 设备进行构建。 |
| Apple Silicon | 选择 Apple Silicon 可为使用硅架构的 Apple 设备进行构建。 |
| Intel 64-位 + Apple silicon | 使用 Intel 64 位 + Apple 硅片可生成适用于 Intel 芯片组和 Apple 硅片的 macOS 构建。 注意:这会导致生成的构建比针对单个特定架构的构建大,从而影响应用程序大小。 |
可从 macOS 构建设置 (macOS Build Settings) 窗口中为应用程序设置目标架构。
要构建 Unity 应用程序,请使用以下步骤:
注意:如果在 Windows 上构建 macOS 应用程序,那么在 macOS 系统中打开该应用程序之前,必须为二进制文件设置可执行标志。
在为 macOS 进行构建时,若把多个同名的原生源文件作为插件,且它们都适配同一构建目标,那么构建过程就会失败。
例如,要是有两个或更多同名文件,分别适配不同的架构,比如 macOS ARM64 和 macOS x64,而您想构建一个能同时兼容这两种架构的通用应用程序,同样也会构建失败。这是因为在构建时,这些同名却适配不同架构的文件都会被纳入,进而引发冲突。
由于 Xcode 不支持使用针对不同架构的文件,所以您需要将这些文件合并为一,或者进行重命名,这样才能让它们同时适配两种架构,顺利完成构建。
macOS 应用程序需要一个名为 Info.plist 的信息属性列表文件,其中包含应用程序的元数据和配置信息。该文件包含键/值对的列表。
当 Unity 构建应用程序时,会创建 Info.plist 文件。Unity 将此文件存储在 ApplicationName.app > Contents > Info.plist 中。Unity 在播放器设置 (Player Settings) 窗口中显示所需的 Info.plist 配置属性,您可以在构建应用程序之前先完成这些属性的设置工作。这些属性位于其他设置 (Other Settings) > Mac 应用商店选项 (Mac App Store Options) 部分中。
此外,用户还可以向 Info.plist 文件中添加一些额外的键。要添加这些键,需先构建应用程序,然后使用文本编辑器对该文件进行编辑。有关可用键的信息,请参阅关于 Info.plist 的键和值。
macOS 应用程序需要授权来指定权限和限制条件,以此控制应用程序的特定操作。应用程序必须包含能实现硬运行时的授权。这些授权项可保护应用程序,使其免受代码注入、动态链接库劫持以及内存篡改的威胁。
为了定义权利,macOS 应用程序使用一个具有 .entitlements 文件扩展名的 XML 文件。然后,macOS 应用程序使用称为代码签名的过程将授权绑定到应用程序。
如果应用程序使用的插件会执行特定于 macOS 平台的操作,可能需要添加授权才能启用这些操作。有关哪些操作需要授权的更多信息,请参阅苹果开发者授权项。
代码签名是为应用程序创建代码签名的过程。此签名可以保证应用程序的完整性,并防止任何篡改。Apple 设备使用应用程序的代码签名来检测开发者创建完签名后对代码所做的任何更改。如果应用程序没有代码签名,则设备会在最终用户打开应用程序之前向其发出警告。Unity 会自动为其针对 macOS 构建的任何应用程序进行代码签名。
公证是 Apple 用于检查经开发者 ID 签名的应用程序的过程,确保其不包含恶意内容 。数字分发服务通常要求在将应用程序分享到平台之前,先对其进行公证。Mac 应用商店具有类似于公证的内容验证系统,这意味着通过该商店分发的应用程序无需事先公证。