适用于 iOS 的 Firebase Crashlytics:关闭非符号化问题

Posted

技术标签:

【中文标题】适用于 iOS 的 Firebase Crashlytics:关闭非符号化问题【英文标题】:Firebase Crashlytics for iOS: close not symbolicated issues 【发布时间】:2018-06-16 17:45:33 【问题描述】:

我在 Firebase Crashlytics 控制台中发生了一些崩溃,缺少 dSYMs,因此控制台显示了一个警报图标,要求我手动上传 dSYM。

但问题是这些dSYMs 已经被覆盖并且不再存在于计算机上,因此无法在主要问题列表中提供这些问题。

有谁知道,至少有什么方法可以删除/关闭这些问题吗?

【问题讨论】:

【参考方案1】:

我使用了一种解决方法。在我们对崩溃做任何事情之前,Crashlytics 想要 dSYM?好的,我们给他。

即使崩溃构建的原始 dSYM 丢失(或未生成),您也可以使用最接近崩溃版本的项目版本并生成 dSYM(这就是拥有版本控制的好处)。如果您找不到 dSYM,请确保它们已在构建设置中启用:

问题是 - 生成的 dSYM 将有另一个 UUID,Crashlytics 不会将其与崩溃相匹配以进行符号化。在这里,我们做了一个 hack,将生成的 dSYM 中的 UUID 替换为控制台中缺少的 dSYM 之一。

    在数据包的信息中查找生成的 dSYM UUID (CMD+I > "More info" > "dSYM UUIDs"):

    在生成的 dSYM 数据包中找到 dSYM 文件(使用“显示数据包内容”打开数据包):

    使用任何 HEX 编辑器打开文件(我使用 AppStore 中的Hex Fiend)并找到 UUID(它位于文件开头);请注意,它将是原始字节,而不是 UUID 字符串:

    用缺少的 dSYM 之一替换生成的 UUID,保存,将 dSYM 上传到控制台。

就是这样。如果你足够幸运,崩溃可能是正确的 象征性的;否则你至少可以关闭它)

【讨论】:

【参考方案2】:

谢谢。来自 Crashlytics 的托德。现在不可能强制关闭这些崩溃,尽管这是一个有趣的想法。启动新版本后,您的 dSYM 将在您的仪表板中不那么明显。

【讨论】:

感谢您的回答。【参考方案3】:

没多少年过去了,Crashlytics 添加了解决方案,它位于 dSYM 选项卡上:

【讨论】:

以上是关于适用于 iOS 的 Firebase Crashlytics:关闭非符号化问题的主要内容,如果未能解决你的问题,请参考以下文章

适用于 iOS Today 扩展的 Firebase 分析(小部件扩展)

适用于 iOS 的 Xamarin Firebase 云消息传递(appDelegate)RemoteMessageDelegate 错误

适用于 iOS 的 Firebase FCM 静默推送通知

Firebase 应用内消息真的适用于 iOS 吗?

适用于 iOS 的 Firebase 动态链接 - 查询参数未从 iTunes Store 传递

适用于 iOS 的 Firebase Crashlytics:关闭非符号化问题