iOS
Warning
This page may be out of date and should only be used as a reference.
要将游戏部署到 iOS 设备,你需要将设备连接到装有 Xamarin 的 Mac。
确保 PC 和 Mac 上都已安装 Xamarin。有关如何安装和设置 Xamarin 的说明,请参阅 Xamarin 文档:
确保你的 iOS 设备已完成预配。有关说明,请参阅 Xamarin 文档中的设备预配(Device provisioning)。
确保 Stride 项目中已添加 iOS 平台。为此,在 Game Studio 中右键单击解决方案,选择 Update package > Update Platforms,并确保选中了 iOS。

有关在 Game Studio 中添加平台的更多信息,请参阅添加或移除平台。
在 Visual Studio 中打开你的解决方案。
Tip
要在 Visual Studio 中从 Game Studio 打开项目,请在 Game Studio 工具栏中点击
(Open in IDE)。在 Visual Studio 工具栏中,点击
。
Xamarin Agent 将打开。

通过 Xamarin 连接到 Mac。有关说明,请参阅 Xamarin 文档中的 Introduction to Xamarin iOS for Visual Studio。
在解决方案资源管理器中,右键单击该项目并选择 Set as StartUp Project。

在 Solution Platforms 菜单中,选择 iPhone 可在物理 iOS 设备(包括 iPad)上构建,选择 iPhoneSimulator 则可为模拟器构建。模拟器可以在你的机器上模拟 iOS 设备,但有一些缺点(见下文)。

在 Visual Studio 工具栏中,选择你要为之构建的 iOS 设备。

在解决方案资源管理器中,打开
info.plist。
如果要创建 release 构建,请设置包标识符(bundle identifier)。它是你的应用程序的唯一 ID。

如果要部署到 iPad,请在 Targeted device family 下点击
。
加快 iOS 设备上的构建速度
在 iOS 设备上构建需要很长时间。这是因为:
Mac 需要为不同的设备提前(AOT)编译代码
Apple 的沙盒系统不允许增量更新包,因此每次更改后 Mac 都需要在设备上完全重新部署应用程序
要加快代码编译速度,请在解决方案资源管理器中右键单击 iOS 项目并选择 Properties。

- 在 Linker Behavior 下,选择 Don't link。
- 在 Supported Architectures 下,只选择调试设备所用的架构。
- 禁用 Strip native debugging symbols。
- 启用 incremental builds(只有两次执行之间发生变化的代码才会被 AOT 编译)
更多信息请参阅 Xamarin 文档中的 iOS Build Mechanics。有关性能分析的信息,请参阅 Using instruments to detect native leaks using markheap。
要让每次重新部署更快,请尽可能减小调试包的体积。
在 Game Studio 中,减小项目中纹理的 Size。
删除未使用的资产。
逐个测试场景,而不是同时加载它们。
在 iPhone 模拟器而不是真实设备上调试应用程序。不过,模拟器上的执行速度较慢,并且会产生一些渲染伪影,因此我们不建议用它来调试实时图形。
在 iOS 上编译着色器
由于在 iPhone 设备上将 Stride 着色器转换为 OpenGL 着色器非常缓慢,我们建议你远程(即在 Game Studio 中)进行转换。
我们推荐的工作流程是:
在 Windows 上执行应用程序。这会创建着色器变体(shader permutations)。

在 Game Studio 中导入新的着色器。这会生成一份效果日志(effect log)。

保存并在 iOS 上运行游戏。
理想情况下,这会在远程创建所有着色器变体,因此你无需在设备上进行转换。不过,由于支持的屏幕分辨率等差异,仍可能出现新的变体。更多信息(包括如何在 iOS 上远程编译着色器)请参阅编译着色器。