我在iOS应用程序中使用Firebase实时数据库,并且通过Firebase的崩溃报告在[FIRDatabase assertUnfrozen]
调用的[FIRDatabase setPersistenceEnabled:]
上获得了崩溃报告。 (这些报告也有所不同,其来源是FIRDatabaseConfig而不是FIRDatabase)
在我的应用程序委托的application:didFinishLaunchingWithOptions:
方法中,我从文件加载Firebase配置,然后将持久性设置为enabled。每200名用户中就有大约1名用户使用assertUnfrozen导致崩溃。我是用不正确的方式初始化Firebase还是有人对出什么问题有任何想法?
最佳答案
必须在对FIRDatabase实例进行任何其他使用之前调用setPersistenceEnabled。这是导致崩溃的原因,因此请在调用setPersistenceEnabled之前检查是否正在使用FIRDatabase实例。
就我而言,我在applicationDidEnterBackground
中使用了FIRDatabase实例,并在launchController中使用了setPersistenceEnabled。打开应用程序后,在调用launchController之前,使应用程序进入后台。然后,调用applicationDidEnterBackground
并使用FIRDatabase实例因此,我从applicationDidEnterBackground
中删除了Firebase代码,并在调用setPersistenceEnabled之后将其写入。
关于ios - 在iOS上的assertUnfrozen,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43534838/