Firebase/Crashlytics无法提交崩溃报告。

3
我按照Firebase/Crashlytics的指引操作,但我在将崩溃信息显示在控制台上遇到了问题。曾经有一段时间这个功能是正常的,但现在不行了。
下面是最近一次上传崩溃信息的控制台输出结果。
2018-12-13 19:18:13.145000-0800 MyApp[599:21332] 4.8.1 - [Firebase/Analytics][I-ACS036002] Firebase screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
file log added:  true
2018-12-13 19:18:13.209647-0800 MyApp[599:21335] 4.8.1 - [Firebase/Core][I-COR000001] Configuring the default app.
2018-12-13 19:18:13.221188-0800 MyApp[599:21269] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.221338-0800 MyApp[599:21269] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.221364-0800 MyApp[599:21269] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.221395-0800 MyApp[599:21269] [Crashlytics] Version 3.12.0 (136)
2018-12-13 19:18:13.221478-0800 MyApp[599:21269] [Crashlytics] Running on iPhone8,4, 11.4.1 (15G77)
2018-12-13 19:18:13.230209-0800 MyApp[599:21269] [Crashlytics:Crash:Reports:Event] Registered Firebase Analytics event listener
2018-12-13 19:18:13.235577-0800 MyApp[599:21341] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.243302-0800 MyApp[599:21269] [Answers] Initialized
2018-12-13 19:18:13.289486-0800 MyApp[599:21269] [Fabric] [Crashlytics] This version of FIRApp does not support isDataCollectionDefaultEnabled. Ignoring.
2018-12-13 19:18:13.297664-0800 MyApp[599:21269] [Fabric] Initialized with kit versions: {
    "com.twitter.answers.ios" = "1.4.0";
    "com.twitter.crashlytics.ios" = "3.12.0";
    "io.fabric.sdk.ios" = "1.9.0";
}
2018-12-13 19:18:13.352472-0800 MyApp[599:21341] [Crashlytics:Crash:Reports] Packaged report with id 'fb37c35c9185406b9bd72acc10709fb4' for submission
2018-12-13 19:18:13.353865-0800 MyApp[599:21341] [Crashlytics:Crash] Unable to read identifier at path *SOMEPATH**
2018-12-13 19:18:13.364756-0800 MyApp[599:21341] [FileManager] Failed to remove file '(null)' : (null)
2018-12-13 19:18:13.365267-0800 MyApp[599:21341] [Crashlytics:Crash:Reports] Unable to remove a processing item
2018-12-13 19:18:13.365617-0800 MyApp[599:21341] [Crashlytics:Crash:Reports] Packaged report with id '(null)' for submission
2018-12-13 19:18:13.428401-0800 MyApp[599:21269] [Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize
Documents: file:///var/mobile/Containers/Data/Application/841A117D-7E43-4CD7-AEF6-2EB205E18B84/Documents/
Database Directory: /var/mobile/Containers/Data/Application/841A117D-7E43-4CD7-AEF6-2EB205E18B84/Library/Application Support/storage.sqlite
2018-12-13 19:18:13.463439-0800 MyApp[599:21335] 4.8.1 - [Firebase/InstanceID][I-IID013010] InstanceID library version 2.0.10
2018-12-13 19:18:13.470649-0800 MyApp[599:21340] 4.8.1 - [Firebase/Analytics][I-ACS024000] Debug mode is on
2018-12-13 19:18:13.470905-0800 MyApp[599:21340] 4.8.1 - [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at somegoogleURL
2018-12-13 19:18:13.495759-0800 MyApp[599:21269] NO CHANGES IN ** MagicalRecord Default Context ** CONTEXT - NOT SAVING
1136.0

从日志中可以看到,上传报告时遇到了问题,我无法弄清楚原因。

这是我的应用程序历史的简要概述:最初使用Fabric.io,然后迁移到Firebase/Crash,再到Firebase/Crashlytics。以下是我已经尝试过的解决方法:

  1. 我检查了Google-Service-Info.Plist,确保其与Firebase的常规设置屏幕中的信息相匹配。
  2. 我检查了脚本,以确保正确上传dSym,输出显示成功提交了一些UUID为“myApp.app.dSYM”的arm64架构符号:upload-symbols[65786:2975450] Successfully submitted symbols for architecture arm64 with UUID Some UUID in dSYM: myApp.app.dSYM

  3. 我仔细阅读了设置crashlytics的构建阶段示例,没有发现问题

  4. 我检查了应用程序ID、Apple ID和团队ID,看起来都是正确的。
  5. 我尝试了移动crash代码块,但没能解决问题。

在控制台中,我没有看到以下消息:

[Crashlytics:Crash] report submission successful

其他用户也遇到了这个问题,尽管我相信很久以前我就解决了这个问题。

[更新] 我确实从构建脚本和info.plist中删除了Fabric.io密钥。

[更新] 仔细阅读说明后,我注意到上面的控制台信息实际上是上传成功的信息。我知道这是因为崩溃出现并且时间戳与日志匹配。要查看如何使崩溃正确显示在Firebase控制台中,请查看答案。

2个回答

1

我昨天也遇到了同样的问题,并自己解决了。

我已经从Fabric Crashlitics迁移到Firebase进行整合。一段时间后,我决定完全迁移到Firebase Crashlytics。

  1. 检查您的Build Script。它必须是仅有的"${PODS_ROOT}/Fabric/run"没有任何键就像在Fabric中那样。(如果您使用Xcode 10,则还必须指定输入文件)
  2. 您必须从Info.plist中删除Fabric键,否则Fabric的脚本会显示关于缺少键的错误。
  3. (这是关键点)您必须删除Fabric整合。这个整合会静默所有非Fabric Crashlytics崩溃,即使您的崩溃已成功发送。删除整合后,您必须在看到崩溃板之前为您的项目配置Crashlytics。

希望它能帮到您。


1

好的,我想先声明一下我是个笨蛋。而且我只需要按照说明进行操作就可以了。为了让像我这样的白痴更容易理解,这是你需要做的使崩溃信息正确显示的步骤:

  1. 运行以在设备/模拟器上安装它
  2. 停止调试器
  3. 不使用调试器运行应用程序
  4. 让应用程序崩溃
  5. 再次使用调试器运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接