为了能够再次提交到应用商店(对于已发布的游戏),我们必须让 IPv6 工作。所以我们将 Unity 更新到了 5.3.5p2 版本(可用的最新补丁版本)
我们重新设计了所有的网络接口(我们曾经使用经典的 http 请求来进行后端服务器 com 和套接字连接来下载资产)我们用 UnityEngine.Experimental.Networking 中的 UnityWebRequest、DownloadHandler 和 UploadHandler 交换了所有内容
在编辑器和 android 上一切正常,但对于 iOS,它只是......崩溃。
我们正在使用:Unity 5.3.5p2 xCode 7.2 和 iPad2 与 iOS 9.3.2 构建设置:IL2CPP 通用架构(最低 iOS 7.1)API 级别 .Net 2.0 剥离引擎代码设置为关闭 AOT 编译选项设置为:mint-trampoline 512 (我们将此用于单脚本后端)在 Xcode 上:Bitcode 已禁用优化级别设置为(用于发布和调试):无 [-O0] 这是我们在游戏运行时在控制台上遇到的错误:
在 [UnityEngine.dll]UnityEngine.Experimental.Networking.DownloadHandler 中找不到方法 GetProgress。. 在 [UnityEngine.dll]UnityEngine.Experimental.Networking.DownloadHandler 中找不到方法 ReceiveContentLength。. [项目名称] 是经过优化编译的 - 步进可能会表现得很奇怪;变量可能不可用。
(我们非常简单地使用托管静态缓冲区实现了 DownloadHandlerScript)
当我们使用 mono 作为脚本后端进行构建时,一切正常。但是 IL2CPP 对我们来说是强制性的。谢谢您的帮助。