Firebase/Crashlytics 无法提交崩溃报告

问题描述 投票:0回答: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,它说确实如此。

    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. 我尝试移动崩溃,但无济于事。

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

[Crashlytics:Crash] report submission successful

就像其他用户一样,尽管我相信我很久以前就这样做了,当时这曾经有效。

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

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

ios swift firebase crashlytics
3个回答
1
投票

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

我已通过集成从 Fabric Crashlitics 迁移到 Firebase。一段时间后,我决定完全迁移到 Firebase Crashlytics。

  1. 检查您的
    Build Script
    。它必须只是
    "${PODS_ROOT}/Fabric/run"
    没有任何键它在Fabric中的样子。 (如果您有 Xcode 10,还必须指定输入文件)
  2. 您必须从
    Fabric
    中删除
    Info.plist
    键,否则 Fabric 的脚本会显示有关键丢失的错误。
  3. (这是关键点)你必须删除 Fabric 集成。此集成可消除所有 non-Fabric Crashlytics 崩溃,即使您的崩溃已成功发送。删除集成后,您必须在项目中配置 Crashlytics,然后才能看到崩溃的板。

希望对您有帮助。


1
投票

好吧,我宁愿我是个白痴。我所要做的就是遵循指示。因此,为了让像我这样的白痴进一步简化它,这就是你必须做的才能使崩溃正确显示。

  1. 运行将其安装到设备/模拟器上
  2. 停止调试器
  3. 在没有调试器的情况下运行应用程序
  4. 使应用程序崩溃
  5. 使用调试器再次运行。

0
投票

我在使用 Firebase/Crashlytics 时也遇到了同样的问题,我花了一整天的时间才找出问题所在。这是我犯的两个错误:

  1. 未遵循@yogurt 上面提到的正确步骤。
  2. 我更新了内部版本号,以便在 firebase 控制台上轻松跟踪,但输入额外的新行 ex。 (1.0.0.52 )。并开始出现错误 -
    “[FirebaseCrashlytics][I-CLS000000] Failed to read JSON from file   (/var/mobile/Containers/Data/Application/xxx-xxx/Library/Caches/com.crashlytics.data/<budel_identifier>/v5/reports/prepared/xx/metadata.clsrecord)"

我可以通过检查提及路径上所有创建的文件来弄清楚这一点,并在 settings.json 文件中遇到问题。

© www.soinside.com 2019 - 2024. All rights reserved.