随着iOS 10的发布,不少开发者后续几周应该都要忙于升级游戏了。本文为大家分享使用Unity结合Xcode发布至iOS 10平台的一些注意事项。
App Store提交相关的注意事项
建议继续使用Xcode 7.3将现有项目移植到iOS 10,因为这是目前体验最为流畅的版本。
如果想使用Xcode 8,下面一些建议或许对您有帮助:
  • 如果您的应用需要访问相机(WebCamTexture API),您必须在Unity所生成Xcode项目的Info.plist文件中说明使用该功能的理由。然后添加包含字符串与简介的NSCameraUsageDescription键值对。大家可以在Unity 5.4.1p1中的Player Settings中找到该选项。

  • 如果您的应用未调用WebCamTexture API,您需要禁用Unity生成的Xcode项目中Camera部分的代码。当然,这仅仅是临时措施,我们将在9月22号之前修复这个问题。禁用方式是:打开Xcode项目内的Classes/Unity/CameraCapture.mm,将第一行的"#if !UNITY_TVOS"手动替换成"#if 0"。这样程序就会清除相机捕捉代码以通过自动提交检查。

 

泰课在线

 

iOS 10.0与Xcode 8的兼容性
最新的Unity 5.3及5.4补丁版本(例如 5.3.6p4 和 5.4.0p4)可以正常使用Xcode 8开发iOS 10应用。Unity更早的版本大部分也能运行正常,但可能会出现一些不便之处。
更多细节概览
  • 自7月中旬起,Unity 5.3和5.4的版本就可以正常Build & Run来生成Xcode项目了。但还会有不便之处,默认情况下Xcode项目一般不会指定您的Team,而这个会造成项目签名失败。请在Xcode中重新指定Team,并设置相关项目就可以解决上述问题。我们正在研究如何让用户在Player Setting中指定Team ID,9月15日发布的补丁(5.3.6p5、5.4.1p1)已包含此项功能。未来还会让它更加自动化。

  • 最新的5.3与5.4版本可以正常构建至Xcode 8模拟器,但更早的Unity版本可能会出现崩溃。

  • iOS 10.0现在要求所有访问相机,麦克风,以及定位功能都要阐述使用理由。我们在Unity 5.4及以上的版本中添加了该字段。对于更早的Unity版本建议通过后处理脚本更新Info.plist来解决。

  • 9月15日发布的补丁版中添加了iPhone 7 和 7 Plus的设备枚举,还更新了目标OS版本枚举以包含最新的iOS版本。

  • ReplayKit的broadcasting API还在开发中,我们将在Unity 5.5 或5.4未来的某个补丁版本中添加。

 
使用Unity结合Xcode发布应用至iOS 10的注意事项就总结到这里。综上所述,如果力求项目稳定,请继续使用Xcode 7.3;假使使用Xcode 8,就请仔细阅读上文中的建议。