版本:Unity 6 (6000.0)
语言:English
iOS 构建和发布
iOS 构建设置参考

构建 iOS 应用

使用 Unity 构建 iOS 应用的过程主要包括两个步骤

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

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

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

在您为 iOS 构建项目之前,请确保在 iOS 播放器设置允许您为 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 使用追加模式重新生成 Xcode 项目。

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

替换和追加模式

如果您在包含另一个 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 中的窗口 > 设备和模拟器下找到它。
  4. 在终端中输入以下命令,其中<device-id>是您的设备 ID。
unity$ xcodebuild test -destination "platform=iOS,id=<device-id>" -scheme Unity-iPhone

为特定目标指定构建设置

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

使用 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 构建设置参考