iOS - Crashlytics - 缺少几次崩溃

Posted

技术标签:

【中文标题】iOS - Crashlytics - 缺少几次崩溃【英文标题】:iOS - Crashlytics - missing several crashes 【发布时间】:2018-01-12 03:38:30 【问题描述】:

我对 Crashlytics 有疑问(以及在 Xcode -> Organizer 中显示的崩溃),因为我没有看到很多我应该看到的崩溃。从测试人员那里我应该有很多崩溃,但我没有。我登录到 iTunes Connect 并在那里获取压缩的 dSYM 文件并将它们上传到 Crashlytics 以查看新的崩溃。但即使它说上传 dSYM 后有一个或多个新的崩溃,我也没有看到任何新的崩溃。看起来我在 Crashlytics 中没有看到的大多数崩溃。这是为什么?我需要从运行 TestFlight 应用程序的设备获取日志/崩溃。我认为使用 Objective-C 和在 bitcode 之前它工作得更好。

编辑: 是否有可能在另一个工具(来自第 3 方公司)中会出现 Apple Organizer 中没有的崩溃?我在问我是否应该尝试其他公司的更多工具。也许一些崩溃是因为内存。这些崩溃是否可能不在报告中?

谢谢

【问题讨论】:

您检查过您的电子邮件是否有崩溃?因为 Crashlytics 会在每次崩溃时发送电子邮件。 我禁用了电子邮件通知。我是否有可能收到稍后在网络工具中没有出现的崩溃通知? 感谢@LiborZapletal。您是否仍然看到缺少 dSYM 警告?请务必注意,您可能需要在上传 dSYM 后等待几个小时才能在仪表板中看到崩溃。谢谢! @ToddBurner 不,我没有看到丢失的 dSYM。穿越了我也检查了 Apple 崩溃报告(在 Organizer -> Crashes 中)并且没有新报告,但从昨天开始应该有几个。是否有可能在另一个工具(来自第 3 方公司)中出现 Apple Organizer 中没有的崩溃? @LiborZapletal 您是否有机会分享您的应用程序的捆绑包 ID,以便我仔细查看?如果您无法在此处分享,请随时将其发送至 support@fabric.io。 【参考方案1】:

Fabric 为每个崩溃显示 1 个崩溃“行”,崩溃的数量在同一行中。

但请记住,只有当用户再次打开应用时,崩溃才会发送到 crashlytics。

您还可以使用以下方法测试 Crashlytics: Crashlytics.sharedInstance().crash()

【讨论】:

那不是我的问题。这是我所知道的。问题是我得到的错误很少,但我认为缺少许多不同的(与显示的不同)。所以我正在寻找是否有可能某些错误没有到达 Crashlytics(即使用户再次重新打开应用程序)。一些禁用它的设置。或者如果应用程序由于内存而被系统杀死怎么办。 是的,崩溃可能会丢失。我曾经用 iPhone 4s 遇到过这个问题。该应用程序仅在 iPhone 4s 上崩溃,甚至在该应用程序完全启动之前,其他设备都可以正常工作。这次 iPhone 4s 崩溃是由 Apple 记录的,但不是由 Fabric 记录的。这是有道理的,因为当应用程序无法启动时,它就无法发送事件。也许这会给你一个线索。【参考方案2】:

首先确保您已将 dsym 文件上传到您的 crashlytics 仪表板,检查此

点击圈出的部分

然后在你的 Xcode > Window > Organizer

点击下载 dSYM,下载完成后,右键单击您的存档并单击 在 Finder 中显示,然后右键单击包并点击 显示包内容

打开 dSYMs 文件夹,然后您可以将这些 dSYM 拖放到 Crashlytics Dashboard

【讨论】:

【参考方案3】:

我认为您的问题与两件事有关:

    正如 Gerrit 在另一个答案中所说,如果用户再次打开应用程序,崩溃会发送到 CrashlyticsXcode 中的崩溃 --> Organizer 仅在用户设置与应用开发者共享分析时才会显示。

欲了解更多信息,请查看此链接:Share analytics, diagnostics, and usage information with Apple

如果人们不分享分析结果,您将不会看到任何崩溃。

编辑:我发现您的问题也可能与调试器有关...有关更多信息,请查看此线程,看看您是否可以在此处找到您的解决方案 --> Crashlytics is not sending Crash report from iPhone。 希望对您有所帮助!

【讨论】:

【参考方案4】:

如果应用程序在您设置Fabric/CrashlyticsAppDelegate 之前崩溃,那么崩溃将无法正确发送。

您遇到的崩溃也可能被 Crashlytics 归档为内存不足崩溃。

【讨论】:

以上是关于iOS - Crashlytics - 缺少几次崩溃的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Crashlytics/fabric 中获取崩溃报告。显示错误:“看起来我们缺少 dSYM 来处理以下版本的崩溃。”

崩溃报告没有进入Crashlytics / fabric。显示警告:“看起来我们缺少dSYM来处理以下版本的崩溃。”

从 Fabric 切换到 Firebase Crashlytics 问题:缺少 Crashlytics 构建 ID

我是不是需要在 iOS 中使用 Fabric Crashlytics 等服务的权限?

如何修复此 Crashlytics 缺少依赖项异常?

Firebase Crashlytics - java.lang.IllegalStateException:缺少 Crashlytics 构建 ID