Firebase 突然崩溃并显示“RepoExists”消息
Posted
技术标签:
【中文标题】Firebase 突然崩溃并显示“RepoExists”消息【英文标题】:Firebase crashes out of the blue with "RepoExists" message 【发布时间】:2017-02-20 04:16:35 【问题描述】:我的 Firebase 项目(ios,用 Objective-C 编写)一直运行良好,直到在模拟器上启动应用程序时,它崩溃了,我收到以下消息:
由于未捕获的异常“RepoExists”而终止应用程序,原因: 'createRepo 调用了已经存在的 Repo。'
我尝试删除派生数据、重新启动 Xcode 等,但无济于事,我在 Stack Overflow、Google 或 Firebase 文档上也找不到有关此崩溃的任何信息。有人有什么想法吗?
感谢您的帮助。
【问题讨论】:
我也收到了。这是我在 Crashlytics 上看到的一个新崩溃,但我无法自己重现它。希望您能找到解决方案并在这里分享。 当我在主登录视图控制器的 viewDidAppear 函数中检查当前用户时,我确实发现它正在发生。异常断点在内存地址而不是实际代码中中断。当然,我会进行更多调查并及时通知您。 这有什么更新吗?我现在反复看到这种情况。 【参考方案1】:我将 Database.database().ref() 调用移至主线程,为我解决了问题...
【讨论】:
这应该是公认的答案。如果您在后台线程中有Database.database().ref()
,您的应用程序将会崩溃。
此外,基于this answer,确实没有理由在后台线程上执行 Firebase 调用,因为它们已经在后台执行。
@DoesData 这样做还有其他原因。【参考方案2】:
我这样做了,它帮助解决了我的问题,我有FirebaseManager
,有两种方法,其中一种是我在didFinishLaunchingWithOptions
中调用AppDelegate
的配置。我也打电话给createDatabase
configure
private func createDatabase()
_ = Database.database().reference()
之后,您可以在任何其他线程中创建DatabaseReference
。
【讨论】:
【参考方案3】:好吧,我可能会迟到,但我发现如果您尝试注册 FirebaseDatabase 上已经存在的用户,则会出现此错误。
【讨论】:
以上是关于Firebase 突然崩溃并显示“RepoExists”消息的主要内容,如果未能解决你的问题,请参考以下文章
显示flutter firebase crashlytics中发生了哪一行崩溃,并显示dart文件名
Firebase Crashlytics 没有在控制台仪表板中快速显示崩溃报告