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 编辑器中的帮助 (Help) > 报告错误 (Report A Bug)。

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 的信息,请组件手册电影页面

进一步阅读

Page last updated: 2013-06-28