Unity应用程序在iOS14上转换到特定场景时崩溃

Unity应用程序在iOS14上转换到特定场景时崩溃,ios,xcode,unity3d,ios14,Ios,Xcode,Unity3d,Ios14,环境 统一:2019.3.15f1 Xcode:12.0 iOS 14 问题 我正在unity中创建一个3D游戏应用程序。就在最近iOS 14发布的时候,我试着在那里运行这个应用程序,发现了一个问题,在某些场景转换过程中它会崩溃20%。同一版本的应用程序在iOS 13.7或更早版本上没有崩溃。如何避免崩溃 详细情况 该应用程序分为几个场景,但它只在某些场景中崩溃,而在其他场景中没有崩溃。而且,那个特定场景也不能可靠地崩溃,这很奇怪,因为它只有20%左右。它在iOS 13.7之前从未崩溃,这一事实

环境
统一:2019.3.15f1
Xcode:12.0
iOS 14

问题
我正在unity中创建一个3D游戏应用程序。就在最近iOS 14发布的时候,我试着在那里运行这个应用程序,发现了一个问题,在某些场景转换过程中它会崩溃20%。同一版本的应用程序在iOS 13.7或更早版本上没有崩溃。如何避免崩溃

详细情况
该应用程序分为几个场景,但它只在某些场景中崩溃,而在其他场景中没有崩溃。而且,那个特定场景也不能可靠地崩溃,这很奇怪,因为它只有20%左右。它在iOS 13.7之前从未崩溃,这一事实也令人费解。 我删除了场景中的几乎所有对象,我正在转换到这些对象以确定问题,但它仍然崩溃。我还运行了在转换过程中处理的各种代码的调试日志,以查看它何时崩溃,并发现这不是一个特定的代码崩溃,而是一个随机的代码崩溃。 当然,它可以在PC上正常工作,在android版本上不会发生崩溃

错误日志
我在Xcode上得到以下错误

Thread 69: EXC_BAD_ACCESS (code=1, address=0x0)
有一次,我也犯了以下错误

Thread 2: "-[OS_xpc_uint64 UpdateQueueAdd:]: unrecognized selector sent to instance 0x8f796c08526c7e77"
我尝试过的

  • 删除发生碰撞的场景中的所有对象
  • 删除Firebase相关对象/脚本
  • 更改Unity的版本(2019.4.10f)
  • 重新安装Xcode 12.0

这并没有解决问题。

我也有同样的错误。我发现如果我移除场景中的“VideoPlayer”,它就不会再崩溃


如果您在场景中使用任何视频/音频,请删除场景中的“VideoPlayer”。

也有同样的问题(Unity 2019.4.10)。这似乎与视频播放器有关。
我发现将
VideoPlayer.audioOutputMode
设置为
Direct
(以前有AudioSource)为我解决了这个问题(直到Unity提供了一个合适的解决方案)。

我发现了一个类似的问题,它只出现在iOS 14上。如果您有一个MonoBehavior,它也是一个部分类,那么它将在加载到已附加该类的场景时崩溃

在Xcode中发生这种情况时输出的错误为

sharedassets1.assets' is corrupted! Remove it and launch unity again!
非常感谢。我确实移除了“视频播放器”,崩溃问题也就消失了。但由于视频对我的场景至关重要,我在过渡前将其停用。然后我发现车祸发生在我关闭视频的那一刻。似乎在播放视频时禁用使用名为“YoutubeVideoPlayer”的资产播放视频的对象可能会导致其崩溃。