Firebase Crashlytics 未显示 Xamarin.Forms 应用程序 (iOS),尽管构建成功并上传了 dsym
Firebase Crashlytics not showing up for Xamarin.Forms app (iOS), despite build successful and dsym uploaded
我无法让 Crashlytics 在我的 Xamarin Forms 应用程序中处理 iOS。这不是现有问题的口是心非。这是我尝试过的:
- 关注所有现有的 SO 工单。这些已经过时,因为它们提到了使用旧的 Firebase 实现或仍然使用 Fabric 库的临时版本。 None 不再有效,当前的 Firebase SDK 仅使用自身,不再有 Fabric。
- 从 Google 关注 official guide。
- 我确实将
Xamarin.Firebase.iOS.Crashlytics
v4.6.2 添加到我的 iOS 项目中。
- 我确实在
AppDelegate
class 中调用了 Firebase.Core.App.Configure();
。此外,Firebase Analytics 也有效。
- 我已经下载了最新的 GoogleServices.plist 文件。
- 我确实在 Firebase 控制台的 Crashlytics 页面上点击了“启用”按钮。
- 我确实按照他们的说明在我的主屏幕上实现了崩溃。
- 在构建过程中,我使用发布配置。这是我的 TeamCity 命令:
<redacted>.sln "/t:iOS\<redacted>_iOS:rebuild" /p:Configuration="Release" ...
- dsym 在构建期间上传(TeamCity 转储):
Successfully submitted symbols for architecture arm64 with UUID f9d1c2a3
后跟 Successfully uploaded Crashlytics symbols
- 我运行这个应用程序,它成功崩溃了。
- 我再次运行应用程序,它也成功崩溃。
- 从来没有出现过 Crashlytics。
我也试过在按下按钮时使应用程序崩溃 - 以防没有足够的时间在崩溃之间发送待处理的 Crashlytics 报告。在手动崩溃之前离开应用程序 运行ning 没有任何区别,Firebase 控制台中仍然没有 crashlytics。
我正在将应用程序从 TeamCity 部署到 AppCenter,然后从我的 iPhone 下载它。这意味着我 运行 没有调试的发布版本,直接来自 phone.
我错过了什么?
对于同样想知道的人,iOS 构建的问题是由缺少方法调用引起的。它没有写在任何地方,dotnet repo 的示例代码不完整。通常提到的配置调用是这样的:
Firebase.Core.App.Configure();
但仅此一项并不会发送 crashlytics,它只会打开它们的 collection。启动后,需要满足以下条件:
Firebase.Crashlytics.Crashlytics.SharedInstance.SendUnsentReports();
现在 crashlytics 按预期显示 iOS 构建。
我无法让 Crashlytics 在我的 Xamarin Forms 应用程序中处理 iOS。这不是现有问题的口是心非。这是我尝试过的:
- 关注所有现有的 SO 工单。这些已经过时,因为它们提到了使用旧的 Firebase 实现或仍然使用 Fabric 库的临时版本。 None 不再有效,当前的 Firebase SDK 仅使用自身,不再有 Fabric。
- 从 Google 关注 official guide。
- 我确实将
Xamarin.Firebase.iOS.Crashlytics
v4.6.2 添加到我的 iOS 项目中。 - 我确实在
AppDelegate
class 中调用了Firebase.Core.App.Configure();
。此外,Firebase Analytics 也有效。 - 我已经下载了最新的 GoogleServices.plist 文件。
- 我确实在 Firebase 控制台的 Crashlytics 页面上点击了“启用”按钮。
- 我确实按照他们的说明在我的主屏幕上实现了崩溃。
- 在构建过程中,我使用发布配置。这是我的 TeamCity 命令:
<redacted>.sln "/t:iOS\<redacted>_iOS:rebuild" /p:Configuration="Release" ...
- dsym 在构建期间上传(TeamCity 转储):
Successfully submitted symbols for architecture arm64 with UUID f9d1c2a3
后跟Successfully uploaded Crashlytics symbols
- 我运行这个应用程序,它成功崩溃了。
- 我再次运行应用程序,它也成功崩溃。
- 从来没有出现过 Crashlytics。
我也试过在按下按钮时使应用程序崩溃 - 以防没有足够的时间在崩溃之间发送待处理的 Crashlytics 报告。在手动崩溃之前离开应用程序 运行ning 没有任何区别,Firebase 控制台中仍然没有 crashlytics。
我正在将应用程序从 TeamCity 部署到 AppCenter,然后从我的 iPhone 下载它。这意味着我 运行 没有调试的发布版本,直接来自 phone.
我错过了什么?
对于同样想知道的人,iOS 构建的问题是由缺少方法调用引起的。它没有写在任何地方,dotnet repo 的示例代码不完整。通常提到的配置调用是这样的:
Firebase.Core.App.Configure();
但仅此一项并不会发送 crashlytics,它只会打开它们的 collection。启动后,需要满足以下条件:
Firebase.Crashlytics.Crashlytics.SharedInstance.SendUnsentReports();
现在 crashlytics 按预期显示 iOS 构建。