Firebase/Crashlytics未接收到崩溃 [英] Crashes not being received by Firebase/Crashlytics

查看:139
本文介绍了Firebase/Crashlytics未接收到崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在通过按钮强制崩溃,而Firebase/Crashlytics似乎没有解决问题.

I'm forcing a crash, via a button, and Firebase/Crashlytics doesn't seem to pic it up.

我的应用程序中有一些背景.

Some background on my app.

我的应用程序有两个App ID,一个ID供企业内部使用,另一个ID供应用商店使用.触发构建时会触发脚本,以便将正确的GoogleService-Info.plist用于构建.企业版可以正常工作,dsyms上传并崩溃.该应用程序商店缺少dsym,崩溃也不会消失.

My app has two App IDs, one for enterprise to be used internally and one for the app store. A script is triggered when a build is triggered, so that the right GoogleService-Info.plist is being used for the build. The enterprise version works fine, dsyms upload and crashes are received. The app store is missing the dsym and the crashes wont go through.

我进行构建,停止调试器,在4G上运行该应用程序,以切断可能有防火墙阻止请求的公司wifi

I make the build, stop the debugger, run the app on 4G, to cut out the company wifi which may have a firewall blocking the request

[Crashlytics] Version 3.10.5 (130)
[Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize
[Crashlytics:Crash:Reports] Packaged report with id '18357d12a8ce415584520b8f889d2776' for submission
[Crashlytics:Crash:Reports] Submitting report
...
[Crashlytics:Crash:Reports] completed submission of /path/to/app/file.multipartmime
[Crashlytics:Crash] report submission successful

顺便说一句,它说我缺少dSYM,我上传了dsym,但仍然说我需要加载它.

As an aside, it said that I'm missing the dSYM, I uploaded the dsym and it still says I need to up load it.

更新:

Mike注意到带有

[Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize

看起来像麻烦

FirebaseApp.configure()
FirebaseConfiguration.shared.setLoggerLevel(.min)
Fabric.sharedSDK().debug = false
//Fabric.with([Crashlytics.self])  // this was causing that line to appear

因此,这是崩溃后我插入调试器后的日志.

So here's what the log looks like now after I plug in to the debugger after a crash.

注意:我将日志记录的设置更改为.notice,并将Fabric debug的设置更改为true,并将参数FIRAnalyticsDebugEnabled设置为YES

Note: I changed the settings for the logging to .notice and for fabric debug is set to true, along with the argument FIRAnalyticsDebugEnabled to YES

[Crashlytics] Version 3.10.5 (130)
[Crashlytics:Crash:Reports] Packaged report with id 'cdece9d5d08e4caea8fcb1b1aa0e87da' for submission
[Crashlytics:Crash:Reports] Submitting report
[Crashlytics:Crash:Reports] Submitting async /path.multipartmime
[Crashlytics:Crash:Reports:Event] Sending event.
[Crashlytics:Crash] Unable to read identifier at path /path
[Crashlytics:Crash:Reports] Unable to remove a processing item
[Crashlytics:Crash:Reports] Packaged report with id '(null)' for submission
[Crashlytics:Crash:Reports] Submitting report
[Crashlytics:Crash:Reports] Submitting async path.multipartmime
4.8.1 - [Firebase/Analytics][I-ACS023007] Firebase Analytics v.40009000 started
4.8.1 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see URL to some place)
[Fabric] settings downloaded successfully
[Fabric] Settings are available for consumption
[Crashlytics:Crash:Reports] completed submission of /path/770D4E72-67E0-4763-9FAA-687C0701A445.multipartmime
[Crashlytics:Crash] report submission successful
[Crashlytics:Crash:Reports] completed submission of /path.multipartmime
[Crashlytics:Crash] report submission successful

它说虽然我没有启用日志记录.很奇怪,但是没什么大不了的.

It said I didn't enable logging though I did. Weird, but no biggie.

不幸的是,控制台仍然没有崩溃,现在我回到dSYM,只有4个条目,而以前只有2个条目.

Unfortunately still the console isn't picking up the crashes, and now that I go back to the dSYMs there were 4 entries when there were only 2 before.

注意:无崩溃用户的统计信息已更改,在缺少的dSYM下显示崩溃,但没有出现问题.

Note: The crash free users stats has changed, and under the missing dSYMs it shows the crashes, but there are no issues showing up.

这是dSYM

这是仪表板

推荐答案

我为解决此问题所做的事情:

The things I did to fix this:

  1. 删除Fabric密钥,仅在您先前安装了Fabric/Crashlytics时才适用.

  1. Remove Fabric keys, this only applies if you previously had Fabric/Crashlytics installed.

删除此行

Fabric.with([Crashlytics.self])

如果您在控制台中看到此消息

if you see this in your console

[Fabric] [Fabric + with]被多次调用.只有首次通话很荣幸,请传递您希望初始化的所有套件

[Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize

  1. 最后,如果没有出现崩溃/dSYM,则在构建阶段将其添加为运行脚本阶段.我将阶段命名为"Upload dSYM"

  1. Finally if your crashes/dSYM doesn't appear add this as a run script phase in your build phases. I named the phase "Upload dSYM"

"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

我通过转到构建日志来确认上传成功,找到运行自定义Shell脚本'Upload dSYM',将其展开以显示状态.对于您要构建的每种体系结构,应该说类似的内容.

I confirmed the upload was successful by going to the build log, finding "Run custom shell script 'Upload dSYM' expanding it to show the status. It should say something similar to this for the each architecture you're building for.

2018-07-19 18:38:15.630 upload-symbols [42776:1122351]成功提交了dSYM中具有UUID 011bb8b8c270398292fac15e0fa117ed的体系结构arm64的符号:/path/YourApp.app.dSYM

2018-07-19 18:38:15.630 upload-symbols[42776:1122351] Successfully submitted symbols for architecture arm64 with UUID 011bb8b8c270398292fac15e0fa117ed in dSYM: /path/YourApp.app.dSYM

这篇关于Firebase/Crashlytics未接收到崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆