iOS上的assertUnfrozen
我在iOS应用中使用Firebase实时数据库,并通过Firebase的崩溃报告收到来自[FIRDatabase setPersistenceEnabled:]
的崩溃报告。 (这些报告也有一些变体,其中源代码是FIRDatabaseConfig而不是FIRDatabase)iOS上的assertUnfrozen
在我的应用代理的application:didFinishLaunchingWithOptions:
方法中,我从文件加载Firebase配置,然后将持久性设置为启用。对于每200个用户中大约有一个,这会导致assertUnfrozen崩溃。我是否以不正确的方式初始化Firebase,或者是否有人对发生了什么问题有所了解?
调用setPersistenceEnabled必须在FIRDatabase实例的任何其他用法之前进行。这是崩溃的原因,因此请在调用setPersistenceEnabled之前检查是否使用FIRDatabase实例。
以我为例,我是用FIRDatabase比如在applicationDidEnterBackground
,我曾使用setPersistenceEnabled在launchController.As只要我们打开应用程序,launchController被调用之前,使应用程序进入background.Then,applicationDidEnterBackground
被调用和FIRDatabase实例在调用setPersistenceEnabled.So之前使用,我从applicationDidEnterBackground
中移除了firebase代码,并在setPersistenceEnabled被调用后写入它。