Firebase/Crashlytics 未收到崩溃信息

2024-01-02

我通过按钮强制崩溃,而 Firebase/Crashlytics 似乎没有显示出来。

我的应用程序的一些背景。

我的应用有两个App ID,一个供企业内部使用,一个供应用商店使用。触发构建时会触发脚本,以便正确的 GoogleService-Info.plist 用于构建。企业版工作正常,收到dsyms上传和崩溃。应用程序商店缺少 dsym,因此崩溃不会发生。

我进行构建,停止调试器,在 4G 上运行应用程序,以切断公司 wifi,该 wifi 可能有防火墙阻止请求

[Crashlytics] Version 3.10.5 (130)
[Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize
[Crashlytics:Crash:Reports] Packaged report with id '18357d12a8ce415584520b8f889d2776' for submission
[Crashlytics:Crash:Reports] Submitting report
...
[Crashlytics:Crash:Reports] completed submission of /path/to/app/file.multipartmime
[Crashlytics:Crash] report submission successful

顺便说一句,它说我缺少 dSYM,我上传了 dsym,但它仍然说我需要上传它。

Update:

迈克指出,日志中包含

[Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize

看起来很麻烦

FirebaseApp.configure()
FirebaseConfiguration.shared.setLoggerLevel(.min)
Fabric.sharedSDK().debug = false
//Fabric.with([Crashlytics.self])  // this was causing that line to appear

这是我在崩溃后插入调试器后的日志现在的样子。

注意:我将日志记录的设置更改为 .notice,并将结构调试设置为 true,并将参数 FIRAnalyticsDebugEnabled 设置为 YES

[Crashlytics] Version 3.10.5 (130)
[Crashlytics:Crash:Reports] Packaged report with id 'cdece9d5d08e4caea8fcb1b1aa0e87da' for submission
[Crashlytics:Crash:Reports] Submitting report
[Crashlytics:Crash:Reports] Submitting async /path.multipartmime
[Crashlytics:Crash:Reports:Event] Sending event.
[Crashlytics:Crash] Unable to read identifier at path /path
[Crashlytics:Crash:Reports] Unable to remove a processing item
[Crashlytics:Crash:Reports] Packaged report with id '(null)' for submission
[Crashlytics:Crash:Reports] Submitting report
[Crashlytics:Crash:Reports] Submitting async path.multipartmime
4.8.1 - [Firebase/Analytics][I-ACS023007] Firebase Analytics v.40009000 started
4.8.1 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see URL to some place)
[Fabric] settings downloaded successfully
[Fabric] Settings are available for consumption
[Crashlytics:Crash:Reports] completed submission of /path/770D4E72-67E0-4763-9FAA-687C0701A445.multipartmime
[Crashlytics:Crash] report submission successful
[Crashlytics:Crash:Reports] completed submission of /path.multipartmime
[Crashlytics:Crash] report submission successful

它说我没有启用日志记录,但我确实启用了。很奇怪,但没什么大不了的。

不幸的是,控制台仍然没有发现崩溃,现在我回到 dSYM,发现有 4 个条目,而之前只有 2 个条目。

注意:无崩溃用户统计数据已更改,在缺少的 dSYM 下,它显示崩溃,但没有显示任何问题。

Here's the dSYMs enter image description here

And here's the dashboard enter image description here


我为解决这个问题所做的事情:

  1. Remove Fabric keys, this only applies if you previously had Fabric/Crashlytics installed. plist screenshot

  2. 删除此行

    Fabric.with([Crashlytics.self])
    

    如果你在控制台中看到这个

[Fabric] [Fabric +with] 多次调用。仅接受第一次致电,请传递您想要初始化的所有套件

  1. 最后,如果您的 crashes/dSYM 没有出现,请将其添加为构建阶段中的运行脚本阶段。我将该阶段命名为“上传 dSYM”

    "${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
    

    我通过查看构建日志确认上传成功,找到“运行自定义 shell 脚本‘上传 dSYM’,将其扩展以显示状态。对于您正在构建的每个架构,它应该显示与此类似的内容。

2018-07-19 18:38:15.630 upload-symbols[42776:1122351] 成功提交架构arm64的符号,UUID为011bb8b8c270398292fac15e0fa117ed在dSYM:/path/YourApp.app.dSYM

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase/Crashlytics 未收到崩溃信息 的相关文章

随机推荐