【问题标题】:Firebase crashes out of the blue with "RepoExists" messageFirebase 突然崩溃并显示“RepoExists”消息
【发布时间】:2017-02-20 04:16:35
【问题描述】:

我的 Firebase 项目(iOS,用 Objective-C 编写)一直运行良好,直到在模拟器上启动应用程序时,它崩溃了,我收到以下消息:

由于未捕获的异常“RepoExists”而终止应用程序,原因: 'createRepo 调用了已经存在的 Repo。'

我尝试删除派生数据、重新启动 Xcode 等,但无济于事,我在 Stack Overflow、Google 或 Firebase 文档上也找不到有关此崩溃的任何信息。有人有什么想法吗?

感谢您的帮助。

【问题讨论】:

  • 我也收到了。这是我在 Crashlytics 上看到的一个新崩溃,但我无法自己重现它。希望您能找到解决方案并在这里分享。
  • 当我在主登录视图控制器的 viewDidAppear 函数中检查当前用户时,我确实发现它正在发生。异常断点在内存地址而不是实际代码中中断。当然,我会进行更多调查并及时通知您。
  • 这有什么更新吗?我现在反复看到这种情况。

标签: ios objective-c firebase


【解决方案1】:

我将 Database.database().ref() 调用移至主线程,为我解决了问题...

【讨论】:

  • 这应该是公认的答案。如果您在后台线程中有Database.database().ref(),您的应用程序将会崩溃。
  • 此外,基于this answer,确实没有理由在后台线程上执行 Firebase 调用,因为它们已经在后台执行。
  • @DoesData 这样做还有其他原因。
【解决方案2】:

我这样做了,它帮助解决了我的问题,我有FirebaseManager,有两种方法,其中一种是我在didFinishLaunchingWithOptions 中调用AppDelegate 的配置。我也打电话给createDatabaseconfigure

private func createDatabase() {
    _ = Database.database().reference()
}

之后,您可以在任何其他线程中创建DatabaseReference

【讨论】:

    【解决方案3】:

    好吧,我可能会迟到,但我发现如果您尝试注册 FirebaseDatabase 上已经存在的用户,则会出现此错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-27
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多