Firebase应用未配置

时间:2016-10-29 18:48:51

标签: ios firebase swift3 xcode8

这随机开始发生,我无法通过它。我的应用程序在启动时崩溃,在调试区域中。

  

2016-10-29 14:31:57.606 gigMe [2285:73317]启用Firebase自动屏幕报告。调用+ [FIRAnalytics setScreenName:setScreenClass:]设置屏幕名称或覆盖默认屏幕类名称。要禁用自动屏幕报告,请在Info.plist中将标志FirebaseAutomaticScreenReportingEnabled设置为NO

     

2016-10-29 14:31:57.783 gigMe [2285] [Firebase / Core] [I-COR000003]尚未配置默认的Firebase应用程序。将[FIRApp configure]添加到应用程序初始化。阅读更多:提供我无法在此发布的谷歌地址

     

2016-10-29 14:31:57.911 gigMe [2285:73317] *由于未捕获的异常终止应用程序' FIRAppNotConfigured',原因:'无法获取默认的FIRDatabase实例。在使用FIRDatabase之前必须调用FIRApp.configure()。' * 首先抛出调用堆栈:

我真的不明白这一点,因为我没有搞乱任何与数据库有关的事情,这是我的didFinishLaunchingWithOptions方法:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    print("wtf")
    FIRApp.configure()

    return true
}

我也没有在调试器中打印任何内容。有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:42)

这不是 FIRApp.configure() 错误。您可能会在任何类中声明一个具有某个类函数的全局变量,例如

class viewCon : UIViewController{

let ref = FIRDatabase.database().reference() // or a Storage reference
    // This might be the error
   }

发生这种情况的原因是,您尝试使用类函数/属性初始化变量,该函数/属性甚至可能尚未配置。所以试试这个: -

 class viewCon : UIViewController{

    let ref : FIRDatabaseReference! 
       // This might be the error or a Storage reference

     override func viewDidLoad(){

       super.viewDidLoad()
       ref =  FIRDatabase.database().reference()
      }
  }

要支持上述理论,请尝试在let ref = FIRDatabase.database().reference()FIRApp.configure()上使用断点,并查看首先调用的断点。如果首先调用let ref = FIRDatabase.database().reference(),则您肯定会遇到此错误,因为 ref 正在尝试访问尚未配置的FIRDatabase类。