iOS 开发入门
构建 iPhone 和 iPad 游戏所使用的方法不同于台式电脑游戏。与电脑市场不同,您的目标硬件是标准的,而不像配有专用视频卡的电脑一样快速、强大。出于以上原因,必须使用不同的方法处理这些平台的游戏开发。同时,Unity 中的 iOS 可用功能也与台式电脑稍有不同。
设置 Apple 开发人员账号
在实际设备上运行 Unity 开发的 iOS 游戏之前,您将需要让 Apple 开发人员账号得到批准并进行设置。这将包括组建团队、添加设备、完成供给的配置文件。所有这些设置都通过 Apple 的开发人员网站完成。由于这是一个非常复杂的过程,我们为在 iOS 设备上运行代码之前必须完成的任务提供 了基本概述。但最好还是遵照 Apple iPhone 开发人员门户网站给出的步骤指示。
注意:建议您在开始之前先设置 Apple 开发人员账号,这个账号可以让您使用 Unity 充分发挥 iOS 的潜力。
Unity XCode 工程
在构建 Unity iOS 游戏时将生成 XCode 工程。该工程要求签署、编译游戏并准备分配。请参阅 Unity XCode 工程页面,了解更多信息。
访问 iOS 功能
Unity 提供 提供 了一系列脚本 API,以访问多点触控屏幕、加速度计、设备地理位置系统以及其他更多功能。可在iOS 脚本页面找到更多脚本类。
脚本访问本机 C、C++ 或 Objective-C 代码
Unity 允许您直接从 C# 脚本调用使用 C、C++ 或 Objective-C 编写的自定义本机函数。如需了解如何绑定本机函数,请访问插件页面。
准备应用程序内购 (In-App Purchases)
Unity iOS 运行时间允许您下载新内容,您可以使用此功能实现内购。请参阅可下载内容手册页面,了解更多信息。
遮挡剔除
Unity 支持遮挡剔除,这对于高性能压缩多个对象的复杂场景非常有用。请参阅遮挡剔除手册页面,了解更多信息。
定制启动画面 (Splash Screen)
请参阅定制启动画面页,了解如何更改启动游戏时显示的画面。
故障排除和报告崩溃
如果您遇到 iOS 设备崩溃,请咨询 iOS 故障排除页面,查看常见问题和解决方案列表。如果无法在这里找到解决方案,请提交一份崩溃错误报告(菜单:Unity 编辑器中的
)。iOS Unity 和桌面 Unity 有何不同静态类型的 JavaScript
当针对 iOS 时,Unity 中的 JavaScript 动态类型始终处于关闭状态,(这相当于 #pragma strict
自动添加到所有脚本)。静态类型显著提高了性能,这对 iOS 设备来说具有重要意义。切换现有 Unity 工程至 iOS 目标时,如果使用动态类型,可能发生编译器错误。可以将显式声明应用到引起错误的变量或利用类型推断,轻松修复这些问题。
MP3 代替 Ogg Vorbis 音频压缩
出于性能考虑,iOS 设备更青睐 MP3 压缩。如果工程包含 Ogg Vorbis 压缩的音频文件,在构建期间,它们将再次压缩成 MP3。请参考音频片段 文档,了解更多在 iPhone 上使用压缩音频的信息。
PVRTC 代替 DXT 纹理压缩 (Texture Compression)
Unity iOS 不支持 DXT 纹理。但 iPhone/iPad 设备支持原生 PVRTC 纹理压缩。请参考纹理导入设置文件,了解更多有关 iOS 纹理格式的信息。
电影播放
iOS 不支持影片纹理,但是,它通过脚本函数提供 全屏流播放。如需了解 iOS 支持哪些文件格式和脚本 API 的信息,请组件手册电影页面。
进一步阅读
Unity iOS 基础
Unity Remote
iOS 脚本
输入
手机键盘
高级 Unity 手机脚本
使用 .NET API 2.0 兼容级别
iOS 硬件指南
iOS 性能优化。
iOS 特定优化
使用内置分析器测定性能
优化内置 iOS 播放器的大小
账户设置
Unity iOS 当前不支持的功能
构建 iOS 插件
应用程序准备“内购”
自定义手机应用程序启动画面
故障排除
iOS 报告崩溃错误