尽管构建成功且 dsym 已上传,但 Firebase Crashlytics 并未出现在 Xamarin.Forms 应用程序 (iOS) 中 [英] Firebase Crashlytics not showing up for Xamarin.Forms app (iOS), despite build successful and dsym uploaded

查看:32
本文介绍了尽管构建成功且 dsym 已上传,但 Firebase Crashlytics 并未出现在 Xamarin.Forms 应用程序 (iOS) 中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法在 Xamarin Forms 应用中让 Crashlytics 在 iOS 上运行.这不是对现有问题的重复.这是我尝试过的:

I have trouble getting Crashlytics to work on iOS in my Xamarin Forms app. This is not duplicity of existing questions. Here is what I've tried:

  • 关注所有现有的 SO 票证.这些已经过时了,因为它们提到使用旧的 Firebase 实现或仍然使用 Fabric 库的临时版本.所有这些都不再有效,当前的 Firebase SDK 只使用自身,不再有 Fabric.
  • 遵循官方指南 来自 Google.
  • 我确实将 Xamarin.Firebase.iOS.Crashlytics v4.6.2 添加到我的 iOS 项目中.
  • 我确实在我的 AppDelegate 类中调用了 Firebase.Core.App.Configure();.此外,Firebase Analytics 也有效.
  • 我已经下载了最新的 GoogleServices.plist 文件.
  • 我确实点击了启用"Firebase 控制台中 Crashlytics 页面上的按钮.
  • 我确实按照他们的说明在主屏幕上发生了崩溃.
  • 在构建期间,我确实使用了发布配置.这是我的 TeamCity 命令:<redacted>.sln"/t:iOS\<redacted>_iOS:rebuild"/p:配置=发布"...
  • dsym 在构建期间上传(TeamCity 转储):成功提交架构 arm64 的符号,UUID 为 f9d1c2a3,然后是 成功上传 Crashlytics 符号
  • 我运行应用程序,它成功崩溃.
  • 我再次运行该应用,它也成功崩溃.
  • 永远不会出现 Crashlytics.
  • Following all existing SO tickets. These are obsolete because they mention the use of old Firebase implementations or the interim version that still used Fabric libraries. None of this works anymore, the current Firebase SDK only uses itself, there's not Fabric anymore.
  • Following official guide from Google.
  • I did add Xamarin.Firebase.iOS.Crashlytics v4.6.2 to my iOS project.
  • I do call Firebase.Core.App.Configure(); in my AppDelegate class. Also, Firebase Analytics works.
  • I have downloaded the up-to-date GoogleServices.plist file.
  • I did click the "Enable" button on the Crashlytics page in the Firebase console.
  • I did implement a crash on my home screen as per their instructions.
  • During build, I do use Release configuration. This is my TeamCity command: <redacted>.sln "/t:iOS\<redacted>_iOS:rebuild" /p:Configuration="Release" ...
  • dsym is uploaded during build (TeamCity dump): Successfully submitted symbols for architecture arm64 with UUID f9d1c2a3 followed by Successfully uploaded Crashlytics symbols
  • I run the app, it crashes successfully.
  • I run the app again, it also crashes successfully.
  • No Crashlytics appear, ever.

我还尝试在按下按钮时使应用程序崩溃 - 以防没有足够的时间在两次崩溃之间发送待处理的 Crashlytics 报告.在手动崩溃之前让应用保持运行没有任何区别,Firebase 控制台中仍然没有 crashlytics.

I have also tried crashing the app on button press - in case there's not enought time to send pending Crashlytics reports between crashes. Leaving the app running before crashing it manually makes no difference, still no crashlytics in the Firebase console.

我正在将应用程序从 TeamCity 部署到 AppCenter,然后从我的 iPhone 下载它.这意味着我直接通过手机运行发布版本而无需调试.

I am deploying the app from TeamCity to AppCenter, where I download it from my iPhone. This means I run the release build without debug, straight from the phone.

我错过了什么?

推荐答案

对于同样想知道的人来说,iOS 构建的问题是由缺少方法调用引起的.它没有写在任何地方和 dotnet repo 的示例代码不完整.通常提到的配置调用是这样的:

For anyone also wondering, the issue with iOS build was caused by missing method call. It isn't written anywhere and dotnet repo has incomplete sample code. The usually mentioned configuration call is this:

Firebase.Core.App.Configure();

但仅此而已并不会发送 crashlytics,它只会打开它们的集合.启动后,需要执行以下操作:

But that alone doesn't send the crashlytics, it just turns on their collection. Upon launch, following is necessary:

Firebase.Crashlytics.Crashlytics.SharedInstance.SendUnsentReports();

现在,iOS 版本的 crashlytics 会按预期显示.

Now crashlytics show up as expected for iOS builds.

这篇关于尽管构建成功且 dsym 已上传,但 Firebase Crashlytics 并未出现在 Xamarin.Forms 应用程序 (iOS) 中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆