Crashlytics 在 macOS 上报告,但在 iOS 上没有报告

Crashlytics reports on macOS but not on iOS

我有一个适用于 iOS (V2.25) 和 macOS (V1.16) 的应用程序。它们共享相同的包标识符和相同的 GoogleService-Info.plist.

这两个应用程序都使用 Cocoa Pods 与“Crashlytics”链接。 iOS 应用程序也为 Firebase/Analytics 设置。 xcode 项目按照文档中的描述设置:dSYm with Dwarf for all configs, build phase is configured, crashlytics tests 运行 outside the debugger.

发生了什么:macOS 应用程序 (V1.16) 按预期向 Crashlytics 报告崩溃。 iOS 应用程序 (V2.25) 出现在“最新版本”中并报告崩溃次数(第一个屏幕截图),但它没有显示 firebase“Crashlytics”中的崩溃!甚至版本号 V2.25 也没有显示,(第 2 个屏幕截图)。

我启用了 -FIRDebugEnabled,我看到 iOS 版本的以下日志消息:

2020-05-21 20:48:26.492497+0200 Dictate[5662:1295303] [Crashlytics] Version 3.14.0 (144) 2020-05-21 20:48:26.492630+0200 Dictate[5662:1295303] [Crashlytics] Running on iPhone10,5, 13.3.0 (17C54) "com.twitter.crashlytics.ios" = "3.14.0"; 2020-05-21 20:48:26.628957+0200 Dictate[5662:1295494] [Crashlytics:Crash:Reports] Packaged report with id 'c013eae8783c40528f5519358cc88828' for submission 2020-05-21 20:48:26.629138+0200 Dictate[5662:1295494] [Crashlytics:Crash:Reports] Submitting report 2020-05-21 20:48:26.629213+0200 Dictate[5662:1295494] [Crashlytics:Crash:Reports] Submitting async /var/mobile/Containers/Data/Application/.../v3/prepared/FD496B0D-947F-40DF-9075-5CCC8E978B2B.multipartmime 2020-05-21 20:48:26.629884+0200 Dictate[5662:1295494] [Crashlytics:Crash:Reports:Event] Sending event. 2020-05-21 20:48:26.886129+0200 Dictate[5662:1295493] [Answers] Attempting to log app_crashed 2020-05-21 20:48:27.419903+0200 Dictate[5662:1295498] [Crashlytics:Crash:Reports] completed submission of /var/mobile/Containers/Data/Application/.../v3/prepared/FD496B0D-947F-40DF-9075-5CCC8E978B2B.multipartmime 2020-05-21 20:48:27.420920+0200 Dictate[5662:1295498] [Crashlytics:Crash] report submission successful

所以看起来在应用端一切正常。在 firebase 门户方面似乎出了点问题,iOS (V2.25) 报告似乎被静静地删除了。

请注意,当我迁移到新的“Firebase/Crashlytics”而不是旧的“Crashlytics”/“Fabric”时,行为完全相同!

这里出了什么问题?有任何想法吗 ?谢谢

这里是 Firebaser -

我认为问题在于您的 macOS 和 iOS 应用程序在同一 Firebase 项目中具有相同的包标识符。众所周知,这会导致一个应用或另一个应用中的报告出现问题。

这里的解决方法是使用另一个 Firebase 项目来分隔您的 macOS 和 iOS 应用程序(从而使用不同的 .plist 文件),或者在两者之间使用不同的包标识符。