版本:Unity 6 (6000.0)
语言:English
构建和分发 macOS 应用程序
macOS 构建设置参考

构建 macOS 应用程序

请参考以下说明和注意事项,了解如何为 macOS 构建 Unity 应用程序。

目标架构

在为 macOS 构建应用程序之前,请注意 Apple 设备之间芯片组的差异。一些 Apple 设备使用英特尔芯片组,而另一些则使用 Apple 芯片。您可以使用 Unity 创建特定于架构的构建以及同时针对英特尔和 Apple 芯片的构建。可用的目标架构为

架构 描述
Intel 64 位 使用 Intel 64 位为使用英特尔芯片组的 Apple 设备构建。
Apple 芯片 选择 Apple 芯片为使用 Apple 芯片架构的 Apple 设备构建。
Intel 64 位 + Apple 芯片 使用 Intel 64 位 + Apple 芯片生成可在英特尔芯片组和 Apple 芯片上运行的 macOS 构建。

注意:这将导致构建的大小大于单个特定于架构的构建,从而影响应用程序的大小。

您可以从macOS 构建设置窗口设置应用程序的目标架构。

构建应用程序

要构建 Unity 应用程序,请使用以下步骤

  1. 文件 > 构建配置文件打开构建配置文件窗口
  2. 选择添加构建配置文件以打开平台浏览器窗口。平台浏览器窗口显示支持平台的列表,包括桌面、移动、Web 和封闭平台包括需要与平台提供商签订保密和法律协议才能使用其开发工具和硬件的平台。除非您与提供商建立了关系,否则这些平台不开放开发。例如 PlayStation®、Xbox® 的 Game Core 和 Nintendo®。
    请参阅术语表
  3. 从可用平台列表中选择macOS。如果macOS不是选项,请选择使用 Unity Hub 安装并按照安装说明操作。有关如何安装模块的信息,请参阅添加模块
  4. 架构设置为希望 Unity 为其构建应用程序的架构类型。
  5. 如果要为应用程序创建Xcode 项目,请启用创建 Xcode 项目
  6. 选择切换配置文件以将新的构建配置文件设置为活动配置文件。
  7. 单击构建

注意:如果在 Windows 上构建 macOS 应用程序,则必须在 macOS 上打开应用程序之前设置二进制文件的可执行标志。

复制本机源文件

在为 macOS 构建时,使用多个具有相同名称并针对相同构建的本机源文件作为插件在 Unity 之外创建的一组代码,用于在 Unity 中创建功能。您可以在 Unity 中使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。更多信息
请参阅术语表
会导致构建失败。

例如,如果两个或多个同名文件针对不同的架构(例如 macOS ARM64 和 macOS x64),并且您构建包含这两种架构的通用应用程序,则构建将失败。这是因为这两个文件都包含在构建中,导致构建冲突。

由于 Xcode 不支持使用针对不同架构的文件,因此您需要将文件合并为一个文件或重命名它们,以确保它们与这两种架构兼容。

信息属性列表文件

macOS 应用程序需要一个名为Info.plist的信息属性列表文件,其中包含应用程序的元数据和配置信息。该文件包含键值对列表。

当 Unity 构建应用程序时,它会创建Info.plist文件。Unity 将此文件存储在ApplicationName.app > Contents > Info.plist中。Unity 在播放器设置允许您为 Unity 生成的最终游戏设置各种特定于播放器的选项。更多信息
请参阅术语表
窗口中显示所需的Info.plist配置属性,您可以在构建应用程序之前进行设置。这些属性位于其他设置 > Mac App Store 选项部分。

您可以向Info.plist文件添加其他键。要添加它们,请构建应用程序并使用文本编辑器编辑该文件。有关可用键的信息,请参阅关于 Info.plist 键和值

授权

macOS 应用程序需要授权来指定控制应用程序特定操作的权限和限制。您的应用程序必须包含导致强化运行时的授权。这些授权保护您的应用程序免受代码注入、动态链接库劫持和内存篡改。

要定义授权,macOS 应用程序使用具有.entitlements文件扩展名的 XML 文件。然后,macOS 应用程序使用称为代码签名的过程将授权绑定到应用程序。

如果您的应用程序使用执行 macOS 平台特定操作的插件,您可能需要添加授权以启用这些操作。有关哪些操作需要授权的更多信息,请参阅Apple 开发人员授权

代码签名和公证

代码签名是为应用程序创建代码签名签名。此签名保证应用程序的完整性并防止任何篡改。Apple 设备使用应用程序的代码签名来检测开发人员创建代码签名后所做的更改。如果应用程序没有代码签名,则设备会在最终用户打开应用程序之前发出警告。Unity 会自动对为 macOS 构建的任何应用程序进行代码签名。

公证是 Apple 用于检查 Developer ID 签名的应用程序是否不包含恶意内容的过程。数字分发服务通常要求您在平台上共享应用程序之前对其进行公证。Mac App Store 具有类似于公证的内容验证系统,这意味着通过该商店分发的应用程序不需要事先公证。

其他资源

构建和分发 macOS 应用程序
macOS 构建设置参考