【问题标题】:no data in firebase crashlytics reports after 1 day1 天后,firebase crashlytics 报告中没有数据
【发布时间】:2018-05-07 14:31:07
【问题描述】:

我的 iOS 应用已经运行了几个星期以来的 firebase 报告。 我在 2 天前按照官方步骤添加了 crashlytics: https://firebase.google.com/docs/crashlytics/get-started?authuser=0
事实上,似乎我所要做的就是安装这些 pod:

pod 'Fabric', '~> 1.7.2'  
pod 'Crashlytics', '~> 3.9.3'  

我还为调试和发布构建设置的调试信息格式添加了“DWARF with dSYM File”

现在当我启动应用程序时,我可以在日志中看到:

[Crashlytics] Version 3.9.3 (128)

然后我强迫手动启动的应用程序崩溃(不是使用调试器),从 xcode 重新启动应用程序后,我可以在日志中看到以下内容:
[Crashlytics:Crash:Reports] 用于提交的打包报告,ID 为“9aeb11f6423b4f11b95a0f3263fc7510”
没有其他关于 crashlytics 的内容

我的问题:为什么我在 firebase crashlytics 报告中看不到任何数据?

【问题讨论】:

  • 您是否在 Firebase 控制台中看到 Crashytics 窗口,但它是空的?
  • firebase 中的 crashlytics 窗口只告诉我安装 sdk
  • 使用Crashlytics.sharedInstance().crash() 强制崩溃的处理方式与真正的崩溃不同(它们在重新启动后被缓冲并报告)。如果您使用的是crash(),您可以尝试用一些导致真正崩溃的错误代码替换它,看看它是否显示在控制台中。
  • @Gogo123 我遇到了同样的问题。我尝试了几种讨论的方法,但都没有奏效。您能否向我们提供有关您为解决此问题所采取的步骤的更多信息?

标签: ios firebase crashlytics google-fabric


【解决方案1】:

对于那些仍然有问题的人。检查您的 podfile 中是否还有 pod 'Firebase/Crash'。 删除旧的 Firebase 崩溃报告后,我的问题得到了解决。

【讨论】:

    【解决方案2】:

    您在 Firebase 中为 Crashlytics 使用了正确的 pod - 您需要 FabricCrashlytics pod。

    崩溃应该显示在 Firebase 仪表板中,并按照您在 https://firebase.google.com/docs/crashlytics/get-started?authuser=0 中的说明进行操作。按照“开始之前”的步骤,确保您的项目中也有 Firebase Core。

    您的 dSYM 可能丢失了,这是象征您的崩溃所必需的。查看https://firebase.google.com/docs/crashlytics/find-missing-dsym?authuser=0 以获取有关如何上传 dSYM 的说明,然后尝试另一个测试崩溃。

    另外,请查看我在其他答案中的评论,以了解有关 Firebase 与 Fabric 中 Crashlytics 的说明。

    【讨论】:

    • 嗨,Alexizamerican!感谢您的回答。今天早上,Crashlytics 仪表板神奇地出现在我的 firebase 项目中。无论如何,仪表板仍然是空的。有人告诉我上传我使用您在命令行中提供的链接所做的 dSYM:“成功提交了带有 UUID 的架构 arm64 的符号”。但是仪表板仍然要求我上传 dSYM,从那时起它一直是空的,尽管我用这个虚拟代码让应用程序崩溃了几次:strcpy(0, "boom");
    • 我的项目中确实有 Firebase Core,并且 Firebase 运行良好。
    • 要为您的特定应用全面调试,最好写入 Firebase 支持
    【解决方案3】:

    仅供参考,我也有类似的经历,只是我的错误在几个小时内就开始出现。这是我遵循的两组说明,其中第二组实际上是必要的,即使它没有包含在“开始”中:

    1. https://firebase.google.com/docs/crashlytics/get-started
    2. https://firebase.google.com/docs/crashlytics/force-a-crash

    我遵循的步骤,以防你想从列表中删除并确保你没有错过任何东西:

    1. 将 pod 添加到 podfile。
    2. pod 安装。
    3. 重启 xcode。
    4. 添加构建步骤。
    5. 使用 dSYM 文件将构建设置更改为 DWARF。
    6. 添加一个调用 Crashlytics.sharedInstance().crash() 的按钮。
    7. 在模拟器上运行应用,停止应用,点击重启,点击崩溃按钮。重启应用。
    8. 代替 Crashlytics.sharedInstance().crash(),调用:
      让 x:诠释? = 无
      让 y = 5 + x!

    9. 运行、停止、单击、点击按钮、崩溃。重启。

    我建议您查看系统日志,但您似乎已经这样做了。我希望其中的某些部分能给你一个有用的想法。

    【讨论】:

    • 我尝试了几乎所有建议的解决方案,但均未成功。关键是在模拟器中自行运行应用程序,而不是从 Xcode 中运行。
    • @gnarlybracket 的评论是真正的答案。它值得 100 票!
    【解决方案4】:

    仅在安装时检查运行脚本

    【讨论】:

    • 为什么?它没有在任何地方提及。
    • 我创建了一个临时 ipa,但dysm 没有上传
    【解决方案5】:

    我昨天也尝试了同样的方法,但我多次使应用程序崩溃。 Crashlytics.sharedInstance().crash()

    let x: Int? = nil
    let y = 5 + x!
    

    仪表板中没有结果。

    今天我尝试在另一个应用中实现 Firebase Crashlytics。但这次我在设备上而不是在模拟器上运行它。 并在 5 分钟内。我在仪表板中获得了数据。

    所以我的建议是:尝试在真机上运行,​​而不是在模拟器上运行。

    【讨论】:

    • 这让我想到,一旦更多设备发送崩溃报告,Firebase 上的崩溃记录可能会更快。
    • 我不这么认为。我的经验是,只要你使用的是真机,它们就会在你再次打开应用后不久出现
    猜你喜欢
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 2019-08-16
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多