调用 `FIRApp.configure()` 时应用程序在首次运行时崩溃

Posted

技术标签:

【中文标题】调用 `FIRApp.configure()` 时应用程序在首次运行时崩溃【英文标题】:App crashes when running for first time when `FIRApp.configure()` is called 【发布时间】:2016-06-03 15:46:56 【问题描述】:

我无法弄清楚新的 Firebase 出现了一个奇怪的错误。我已经启用了 Firebase Analytics 和 Crashlog,我在 didFinishLaunchingWithOptions 中调用了 FIRApp.configure(),正如文档所说的那样。

但是当我第一次运行该应用程序时,它有时会崩溃而没有提供任何详细信息。我只能从 firebase 的崩溃部分提供这个(总是相同的)崩溃日志。有人在使用新版 Firebase 时遇到过类似问题吗?

___ZN3ggl10GLRenderer5frameEPNS_12RenderTargetEPNS_11RenderQueueE_block_invoke_2 + 4103720
___ZN3ggl10GLRenderer5frameEPNS_12RenderTargetEPNS_11RenderQueueE_block_invoke_2 + 4103704
___ZN3ggl10GLRenderer5frameEPNS_12RenderTargetEPNS_11RenderQueueE_block_invoke + 4102664
_dispatch_call_block_and_release + 5304
_dispatch_client_callout + 5240
_dispatch_queue_drain + 54460
_dispatch_queue_invoke + 20348
_dispatch_root_queue_drain + 62348
_dispatch_worker_thread + 71984
_pthread_body + 15140
_pthread_start + 14984
thread_start + 4132

更新

我现在发现只有在加载的第一个视图包含 MKMapView 时才会发生这种崩溃。将初始视图更改为例如UITableView 修复了崩溃。我会联系 Firebase 支持。

【问题讨论】:

您找到解决方案了吗?将 GoogleService PLIST 移至 root 对我不起作用 【参考方案1】:

将您刚刚下载的 GoogleService-Info.plist 文件移动到 Xcode 项目的根目录中,并将其添加到所有目标

【讨论】:

为我工作,谢谢。 Firebase 设置说明只是告诉我复制到我的根目录中,没有提到将其添加到目标。【参考方案2】:

能否请您发布带有符号的崩溃报告,以便更容易调试? 根据这个post,可能存在与 Firebase 无关的错误。你可以试试这个,如果它解决了问题,请告诉我们?

在 XCode 中,转到 Product > Scheme > Edit Scheme...

选择左侧的“运行”选项卡。 选择“选项”子选项卡 顶。

将“GPU 帧捕获”从“自动启用”或 “OpenGL ES”改为“Metal”或“Disabled”。

这会禁用 OpenGL ES 帧捕获,这不是很好,但允许您继续调试 你的构建。

【讨论】:

以上是关于调用 `FIRApp.configure()` 时应用程序在首次运行时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 配置错误,即使它在 AppDelegate.swift 中被调用

iOS Firebase 数据库网址

在 swift Xctest 中测试 Firebase 类

C#线程调用方法时,怎么传参数过去

调用方法并将返回值分配给数组时,为啥C#在调用方法时使用数组引用?

当 AppX 调用 Service 然后调用 ServiceS 时,调用 Uid 是啥?