ios – 默认应用尚未配置

ios – 默认应用尚未配置,第1张

概述我试图将我的应用程序升级到新版本的Firebase.我浏览了设置指南,并编辑了我的所有代码以匹配新的语法.但是,当我运行应用程序时,我会收到这两个错误. The default app has not been configured yet.Terminating app due to uncaught exception 'MissingDatabaseURL', reason: 'Faile 我试图将我的应用程序升级到新版本的Firebase.我浏览了设置指南,并编辑了我的所有代码以匹配新的语法.但是,当我运行应用程序时,我会收到这两个错误.
The default app has not been configured yet.Terminating app due to uncaught exception 'MissingDatabaseURL',reason: 'Failed to get FIRDatabase instance: FIRApp object has no databaseURL in its FirebaSEOptions object.'

我在AppDelegate中有FIRApp.configure(),并将GoogleServices-Info.pList导入到我的项目中. pList也有所有正确的信息.任何人遇到这个或知道如何解决它?

解决方法 这是你的问题的答案:

配置Firebase,您必须在某处执行FIRApp.configure().完成之后,您可以使用let firebaseDatabaseReference = FIRDatabase.database().reference()来获取对该数据库的引用并开始使用它.问题不在于Firebase“本身”,而是Swift的行为.

如果将FIRApp.configure()放在AppDelegate func应用程序中(应用程序:UIApplication,dIDFinishLaunchingWithOptions launchOptions:[NSObject:AnyObject]?) – > Bool然后在MyDatabase类中,你使用let firebaseDatabaseReference = FIRDatabase.database().在你声明的函数之外的引用()()在执行FinishLaunchingWithOptions函数之前有时执行代码FIRDatabase.database().

本质上,您的课程正在尝试获得对Firebase数据库的引用,因为它有机会自行配置,在控制台中生成错误“默认应用尚未配置”.

注意:这并不总是发生,有时候应用程序开始慢,例如在iOS Simulator中,并且没有机会在MyDatabase“let”执行之前完成并尝试获取引用.

这就是为什么在AppDelegate中移动FIRApp.configure()代码以覆盖init()的功能,实际上它确保在AppDelegate被初始化时(在大多数情况下,在MyDatabase被初始化之前)配置代码被执行,

overrIDe init() {   super.init()   FIRApp.configure()   // not really needed unless you really need it FIRDatabase.database().persistenceEnabled = true}

还要确保你的super.init()(所以你的超级类获得“消息”),所以你覆盖不会做更多的伤害比好.

总结

以上是内存溢出为你收集整理的ios – 默认应用尚未配置全部内容,希望文章能够帮你解决ios – 默认应用尚未配置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1097999.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存