美文网首页
Firebase-Crashlytics收集崩溃日志失败

Firebase-Crashlytics收集崩溃日志失败

作者: Nine_suns | 来源:发表于2021-09-19 22:25 被阅读0次

    背景

    公司的项目在使用Firebase-Crashlytics进行App的崩溃监控,近期发现在Firebase上看不到新发布的几个App版本的崩溃数据,这里记录下排查过程。

    原因

    经过一番排查,发现原因是我们在进行包瘦身工作时,在项目中设置EXPORTED_SYMBOLS_FILE选项,提供了一个空文件。Crashlytic SDK的正常启动依赖__mh_execute_header。在Firebase的Github上有这个问题的讨论。找到原因后,解决方案也很简单:在EXPORTED_SYMBOLS_FILE的文件中,增加一行__mh_execute_header即可。

    排查过程

    排查该问题的过程比较曲折,可以分为3个阶段:

    • 对比代码版本变化,从代码上寻找与Firebase相关的改动。发现清理警告时改动过我们内部封装的Crash库,但是改动内容可以确定对Firebase不会产生影响。
    • Firebase SDK版本过低。正常来说这种使用广泛的SDK,即使版本更新,也会保持对旧版本的兼容,所以Firebase SDK版本过低导致无法收集日志的可能性不大。
    • 查看控制台日志。这个方法比较实用,这次问题的原因也是通过查看控制台日志找到的。连接手机,Mac上打开控制台,选择手机设备,启动APP,即可过滤相关的日志输出。在控制台的日志中,发现Crashlytics的日志,启动失败,提示需要__mh_execute_header信息。

    总结

    这次也是踩到了Firebase的一个坑,记录一下,如果恰巧有同行遇到类似的问题,可以作为参考。同时推荐通过控制台查App日志的方式进行问题排查,有些问题在不需要运行Xcode项目的情况下,就可以快速定位到。比如这次遇到的Crashlytics启动失败问题、以及之前遇到过的App测试包无法安装问题,在控制台都会输出有用的错误日志。

    相关文章

      网友评论

          本文标题:Firebase-Crashlytics收集崩溃日志失败

          本文链接:https://www.haomeiwen.com/subject/axvpgltx.html