【问题标题】:Unity iOS IPv6 - IL2CPP UnityEngine.Experimental.Networking crashUnity iOS IPv6 - IL2CPP UnityEngine.Experimental.Networking 崩溃
【发布时间】:2016-06-09 10:53:28
【问题描述】:

为了能够再次提交到应用商店(对于已发布的游戏),我们必须让 IPv6 工作。所以我们将 Unity 更新到了 5.3.5p2 版本(可用的最新修补版本)

我们重新设计了所有的网络接口(我们过去使用经典的 http 请求进行后端服务器 com 和套接字连接进行资产下载),我们用 UnityEngine.Experimental.Networking 中的 UnityWebRequest、DownloadHandler 和 UploadHandler 交换了所有内容

在编辑器和 android 上一切正常,但对于 iOS,它只是...崩溃。

我们正在使用:Unity 5.3.5p2 代码 7.2 和装有 iOS 9.3.2 的 iPad2 构建设置: IL2CPP 通用架构(最低 iOS 7.1) API 级别 .Net 2.0 剥离引擎代码设置为关闭 AOT-Compile 选项设置为:mint-trampoline 512(我们将其用于单脚本后端) 在 Xcode 上: 位码已禁用 优化级别设置为(用于发布和调试):无 [-O0] 这是游戏运行时我们在控制台上遇到的错误:

无法在其中找到方法 GetProgress [UnityEngine.dll]UnityEngine.Experimental.Networking.DownloadHandler . . 在中找不到方法 ReceiveContentLength [UnityEngine.dll]UnityEngine.Experimental.Networking.DownloadHandler . . [项目名称] 是用优化编译的 - 步进可能会表现 奇怪;变量可能不可用。

(我们非常简单地使用托管静态缓冲区实现了 DownloadHandlerScript)

当我们使用 mono 作为脚本后端进行构建时,一切正常。但是 IL2CPP 对我们来说是强制性的。 感谢您的帮助。

【问题讨论】:

    标签: ios unity3d crash ipv6 il2cpp


    【解决方案1】:

    当我们使用 mono 作为脚本后端进行构建时,一切正常。但 IL2CPP 对我们来说是强制性的。

    您从UnityWebRequest 调用的函数很可能尚未在 IL2CPP 端实现,或者是一个普通的错误。

    请注意,您正在使用来自UnityEngine.Experimental 命名空间的UnityWebRequest,这显然是尚未成熟的UnityWebRequest 的实验版本。您需要下载最新版本的 Unity,即 Unity 5.4。在 5.4 中,UnityWebRequest 被移至 UnityEngine.Networking 命名空间,并且在该新版本中修复了更多错误。下载 Unity 的 5.4.0b21 here

    如果这不起作用,请使用 Unity WWW API 而不是 UnityWebRequest。在 >= 5.3 版本中是 IPv6 safe。如果在将 Unity 更新到 5.4 后 UnityWebRequest 不起作用,也提交错误报告。

    【讨论】:

    • 我不认为这是IL2CPP中未实现的代码,但它可能确实是Unity方面的一个错误。
    • @JoshPeterson 很高兴收到 Unity 工程师的来信。您发布的帖子表明这可能是一个剥离问题。我记得几年前我尝试使用标准 C# 邮件类发送电子邮件时遇到过类似的问题。如果这最终成为问题,为什么 Unity 不检测导入的命名空间并从每个脚本中使用标准类/API,然后自动删除阻止它工作的剥离?这将为程序员节省大量时间。如果这变成了一个剥离问题,很快就会有很多不必要的错误报告。
    • 我认为邮件类的问题实际上已经得到纠正。我们会尝试纠正与类库或 UnityEngine 代码相关的任何剥离问题,所以如果这确实是这样的问题,我们会寻求纠正。
    • @JoshPeterson 不错。不知道那个。我现在将删除解决邮件问题的自定义 xml 文件。谢谢。
    【解决方案2】:

    这可能是托管代码剥离的问题。我在 Unity 论坛上发布了一个可能的解决方法:

    http://forum.unity3d.com/threads/unity-ios-and-ipv6-support.404938/#post-2670944

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2018-05-01
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多