过渡到特定场景时,Unity应用在iOS14上崩溃

问题描述

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

问题
我正在统一创建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有关。 我发现将VideoPlayer.audioOutputMode设置为Direct(以前有AudioSource)对我来说已经解决了(直到Unity提供适当的解决方法为止)。

,

我发现了一个类似的问题,它只在 iOS 14 上出现。如果你有一个 MonoBehaviour,它也是一个部分类,它会在加载到附加了类的场景中时崩溃。

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

sharedassets1.assets' is corrupted! Remove it and launch unity again!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...