苹果明年2月强制64位支持:Unity解决方案
根据最新消息从2015年2月1日起,上传到App Store的iOS应用必须包含对64位系统的支持,并且必须使用Xcode6或更高版本中的iOS8 SDK编译。为了让您的项目支持64位系统,Unity建议使用Xcode默认的发布设置“Standard architectures”,从而可以编译出同时支持32位和64位的二进制文件。
GameLook报道 / 根据最新消息从2015年2月1日起,上传到App Store的iOS应用必须包含对64位系统的支持,并且必须使用Xcode6或更高版本中的iOS8 SDK编译。为了让您的项目支持64位系统,Unity建议您使用Xcode默认的发布设置“Standard architectures”,从而可以编译出同时支持32位和64位的二进制文件。
这对移动开发者来说意味着什么呢?从明年二月开始,新发布的游戏(或其它应用)必须使用iOS8 SDK及较新的iOS设备中的64位ARM芯片。
好消息是Unity 已经支持iOS8,而且过去的几个月里,Unity也一直致力于为支持64位的iOS寻找解决方案。最终选择了IL2CPP。
什么是IL2CPP?
Unity一直致力于运行时的解决方案IL2CPP已经有一段时间了。在Unity中它为开发者与系统之间的交互带来了一定的灵活性。Unity也期待能给最终的用户体验带来大幅的性能提升。
IL2CPP出现在Unity正探索如何支持WebGL平台的时候,那时Unity也在研究一些能继续高效支持各种平台的新方法。它结合虚拟机的预先编译将程序集(托管代码)转换为C++代码,同时利用标准平台的C++编译器生成本地二进制文件。结果就是游戏和应用可以以本地速度高速运行。这使得我们可以同时为所有支持的平台添加新的核心功能,因为更新的过程更加高效。想完整了解该项技术,请查阅文章-《Unity脚本的未来》。
IL2CPP什么时候可以运用?
IL2CPP已经使用于WebGL平台,查看Unity官方提供的WebGL示例就可以看到它的实际应用。继WebGL之后的下一个平台就是iOS。在接下来的几周,第一个基于Unity5使用IL2CPP构建的iOS ARM64位alpha版应用即将提交给alpha封闭测试团队。不久之后,它将被提交到Unity的内测团队。
一旦通过一系列紧张而专注的测试,Unity将提供公测预览版给pre-order Beta团队。具体的时间完全取决于首轮测试的进度。Unity极有可能会在2015年1月为预定和已经购买Unity5的用户提供测试版。
Unity5系列中官方发布的支持iOS ARM64位的新功能预览版还取决于Unity5正式版发布的时间,所以暂时我们也无法确定最终的时间。该预览版可以运行脚本复杂程度为中等的游戏。
[更新] “复杂程度为中等”这个概念还是太模糊了。特此阐明,我们非常有信心,大多数iOS项目在更新后无需改动或稍稍更改即可正常运行。一些不常用的功能目前还不是很完善可能会有一些Bug。这些问题也将很快被解决。目前我们正在测试大量的iOS游戏,而且一直到明年2月最终发布,我们会持续告知大家当前的进度。
那关于Unity4.6呢?
Unity也添加了对Unity4.6版本的支持。目前Unity4.6已经进入候选发布期,所以它将很快和大家见面。目前的计划是在2014年2月之前将支持iOS ARM64位的测试预览版移植到4.6.x系列版本中。我们了解很多开发者已经使用Unity4.x的版本开发了完整的游戏,我们也正致力于为移植到Unity4.6版本提供完美的解决方案。由于存在大量的代码重用,在Unity4.6.x系列中对该预览版的实现会参照Unity5来进行:所以脚本复杂程度为中等的游戏将能正常运行。
那Unity4.6之前的版本呢?
我们不会为Unity4.6之前的版本添加对64位iOS系统的支持。由于底层代码差异过大,将这项技术应用到Unity之前的版本着实提高了其难度系数。为了尽快添加对64位iOS系统的支持,我们决定只专注于4.x系列的最后一个版本-Unity4.6。如果你未曾发布的游戏还在使用Unity4.6之前的版本进行开发,那么为了将游戏发布到AppStore,你需要将Unity升级到4.6.x或Unity5。请注意,已经发布到AppStore的32位iOS应用可以直接使用Unity4.x或Unity5进行升级。已经发布到AppStore的iOS游戏在明年2月之前都不要求必须支持64位系统。
能按时移植完我的游戏吗?
Unity的宗旨就是帮助你们成功,所以我们也在不停的努力争取让一切准备就绪。而最好的办法就是尽早开始测试,因此我们鼓励大家在明年1月尽快升级并获取预览版进行测试。
如果你的项目非常复杂,想完美的移植它可能需要更多的时间,如果你不用赶在二月之前移植完成,例如多两个月的时间,那就没什么好担心的了。
我们非常欣慰因为IL2CPP已经做到的和 IL2CPP所能做的!
这将不仅仅对游戏性能带来翻天覆地的变化,同时对我们的开发进度以及在社区中与你们分享新功能的速度也将产生巨大影响。
常见问题:
1. 这对我已经发布的应用来说有什么影响?
短期内不会有影响。在2015年2月1日之前Apple不会移除已经上传到AppStore的应用,而且可供出售,尽管这些应用不支持64位系统。
2. 在那之后我需要更新我的应用吗?
目前Apple官方给出的说法是在2015年2月1日之前已经上线的游戏和应用不需要添加对64位iOS系统的支持。很重要的一点是,既然Apple官方是这么说的,那么不排除它会在之后的某个时候要求所有的应用都必须添加对64位iOS系统的支持。
3. 如果我想在2月1日之后发布呢?
那你就必须按照Apple的要求来做了。新的应用必须添加对64位iOS系统的支持以便更合理地利用新的iOS设备。想了解有关苹果开发者支持的信息,请访问https://developer.apple.com/contact/.
如若转载,请注明出处:http://www.gamelook.com.cn/2014/11/191048