Version: 6000.3
语言: 中文
为 iOS 构建和交付
iOS 内部版本设置参考

构建 iOS 应用程序

使用 Unity 构建 iOS 应用程序的过程有两个主要步骤:

  1. Unity 生成一个 Xcode 项目。
  2. Xcode 将生成的项目构建到应用程序中。

有关 Unity 如何构建 iOS 应用程序的更多信息,请参阅 Unity 如何构建 iOS 应用程序

注意:要在本地构建 iOS 应用程序,您的开发计算机必须运行 macOS,因为 Xcode 仅在 macOS 设备上可用。如果您没有 macOS 设备,您可以使用Unity 构建自动化Unity 项目的持续集成服务,可自动执行在 Unity 服务器上创建构建的过程。更多信息
请参阅术语表
在云中构建应用程序。

在构建iOS项目之前,请确保在iOS中设置了 捆绑标识符(Bundle Identifier)玩家设置设置,可让您为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
请参阅术语表
(菜单:编辑>项目设置>播放器设置)。您还可以选择应用是面向模拟器还是实际设备。为此,请更改 SDK 版本字段。

从 Unity 编辑器构建 Xcode 项目

要构建适用于 iOS 的 Xcode 项目,请使用以下步骤:

  1. 选择“文件”>“生成配置文件”
  2. 选择构建配置文件目标平台创建构建时使用的一组可自定义配置设置。更多信息
    请参阅术语表
    以打开“平台浏览器”窗口。
  3. “平台”窗格中的平台列表中,选择“iOS”。如果 iOS 不是一个选项,请选择“使用 Unity Hub 安装”,然后按照安装说明进行作。
  4. 选择添加构建配置文件。
  5. 选择“切换配置文件”,将新的生成配置文件设置为活动配置文件。
  6. 设置项目所需的任何生成设置
  7. 选择“构建”“生成并运行”。如果选择“构建并运行”并使用 macOS 设备,则 Xcode 会将生成的项目构建到应用程序中,然后将应用程序安装到连接的 iOS 设备。
  8. 选择或创建 Unity 的目录以在其中构建 Xcode 项目。如果目标目录中已存在 Xcode 项目,则会显示一条警告,其中包含有关如何继续的选项。有关可用选项的信息,请参阅替换和追加模式

提示:首次指定目标目录后,可以使用 Cmd+B 构建和运行应用程序。Unity 使用 Append 模式重新生成 Xcode 项目。

有关在 Xcode 中运行 Xcode 项目的更多信息,请参阅构建和运行应用程序(Apple Developer)。

替换和追加模式

如果您在已包含另一个 Xcode 项目的目录中构建项目,Unity 会显示警报以及如何继续的选项。有两种选择:

  • 替换:Unity 删除目标 Xcode 项目目录中的所有内容。然后,它会在现在为空的目录中生成新的 Xcode 项目。
  • 附加:Unity 删除目标 Xcode 项目根目录和DataLibraries子。然后,它会用新生成的 Xcode 项目内容填充这些目录。然后,Unity 会根据最新的 Unity 项目更改更新 Xcode 项目文件。Unity 仅支持使用相同 Unity iOS 版本生成的现有 Xcode 项目的此模式。您可以将自定义内置代码存储在classes子目录,因为此处的文件不会被删除。

从命令行运行 Xcode 项目

Unity 生成 Xcode 项目后,您可以从命令行构建和运行 Xcode 项目。为此,请使用以下步骤:

  1. 打开终端窗口。
  2. 导航到 Xcode 项目目录。
  3. 查找要在其上运行应用程序的设备的设备 ID。您可以在 Xcode 的 Window > Devices and Simulators 下找到它。
  4. 在终端中输入以下命令,其中<device-id>是您的设备 ID。
unity$ xcodebuild test -destination "platform=iOS,id=<device-id>" -scheme Unity-iPhone

指定特定目标的生成设置

当您使用命令行参数指定构建设置时,它们将应用于 Xcode 项目中的所有目标。为了防止这种情况,某些构建设置具有后缀版本,您可以使用这些版本来指定构建设置影响的目标。你可以通过 Xcode 中的 用户定义设置 > 构建设置 来实现这一点。这APPsuffix 用于应用程序目标,而FRAMEWORKsuffix 用于框架目标。

使用 xcodebuild 构建时,请对以下构建设置使用后缀版本:

Xcode 构建设置 后缀版本
PRODUCT_NAME PRODUCT_NAME_APP
PROVISIONING_PROFILE PROVISIONING_PROFILE_APP
PROVISIONING_PROFILE_SPECIFIER PROVISIONING_PROFILE_SPECIFIER_APP
OTHER_LDFLAGS OTHER_LDFLAGS_FRAMEWORK

根据自定义生成管道,可以扩展列表以涵盖其他设置。

其他资源

为 iOS 构建和交付
iOS 内部版本设置参考