如何修复 Firebase SIGABRT 崩溃 iOS

Posted

技术标签:

【中文标题】如何修复 Firebase SIGABRT 崩溃 iOS【英文标题】:How to fix Firebase SIGABRT crash iOS 【发布时间】:2017-10-16 10:32:07 【问题描述】:

我已经安装了 'Firebase/Database' 'Firebase/Auth' pod,并在 AppDelegate didFinishLaunchingWithOptions 中添加了 FirebaseApp.configure()。该应用程序现在很好,但是当我进入时 var ref: Datab = Database.database().reference() 运行,应用崩溃了。

控制台:-

2017-10-16 15:57:06.876363+0530 TKT Church[4106:1807608] * 由于未捕获的异常“FIRAppNotConfigured”而终止应用程序,原因:“无法获取默认的 Firebase 数据库实例。在使用 Firebase 数据库之前,必须调用 [FIRApp configure](在 Swift 中为 FirebaseApp.configure())。 * 首先抛出调用栈: (0x1842e3d38 0x1837f8528 0x1842e3c80 0x102e88fcc 0x102dec660 0x102dec830 0x18dc7a8bc 0x18de23588 0x18de23700 0x18de232c0 0x18da59ebc 0x18da95fe8 0x18de23588 0x18de23700 0x18de232c0 0x18da59ebc 0x18da7650c 0x18de23588 0x18de232c0 0x18dc7a560 0x18de23588 0x18de23700 0x18de232c0 0x18dc798a0 0x18dff67f0 0x18d95c8dc 0x18d762cdc 0x18d95b5c0 0x18dbe9454 0x18deb91f0 0x18dbe90b8 0x18dbe9928 0x18e3526e8 0x18e35258c 0x18e0ce9c0 0x18e263fc8 0x18e0ce870 0x18deb8850 0x18d959e28 0x18dd5d6ec 0x186985768 0x18698e070 0x1041dd45c 0x1041e9b74 0x1869b9a04 0x1869b96a8 0x1869b9c44 0x18428c358 0x18428c2d8 0x18428bb60 0x184289738 0x1841aa2d8 0x18603bf84 0x18d757880 0x102dea3b0 0x183cce56c) libc++abi.dylib:以 NSException 类型的未捕获异常终止 (lldb)

【问题讨论】:

能否分享一下“AppDelegate”代码 - 看来您调用配置函数有点太晚了 好的,请查看codeshare.io/2j8yEB 【参考方案1】:

首先配置一个 FirebaseApp 共享实例,然后创建对您的数据库的引用。

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 
  FIRApp.configure()
  var ref: DatabaseReference!
  ref = Database.database().reference()
  return true 

【讨论】:

如何在其他视图控制器中使用这个变量 'ref'? 把它作为 appdelete 中的全局变量,并参考 UIApplication.shared.delegate 使用它! AppDelegate。

以上是关于如何修复 Firebase SIGABRT 崩溃 iOS的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 线程 1 SIGABRT 上的 Firebase 通知错误

带有信号 6 (SIGABRT) 的 RenderThread 的本机崩溃

NSEntityDescription.entity 崩溃应用程序(SIGABRT)

Solaris 程序在空闲时因 SIGABRT 而崩溃

相机崩溃:带有 JNI 代码的致命信号 6 (SIGABRT)

如何在接收基于 Flutter 构建的 FCM 推送通知时修复应用程序崩溃