适用于 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 错误