Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase Crashlytics没有出现在Xamarin.Forms应用程序(iOS)上,尽管构建成功并上传了dsym_Ios_Firebase_Xamarin_Xamarin.forms_Crashlytics - Fatal编程技术网

Firebase Crashlytics没有出现在Xamarin.Forms应用程序(iOS)上,尽管构建成功并上传了dsym

Firebase Crashlytics没有出现在Xamarin.Forms应用程序(iOS)上,尽管构建成功并上传了dsym,ios,firebase,xamarin,xamarin.forms,crashlytics,Ios,Firebase,Xamarin,Xamarin.forms,Crashlytics,我很难让Crashlytics在我的Xamarin表单应用程序的iOS上运行。这不是现有问题的两面性。以下是我尝试过的: 遵循所有现有SO票证。这些都是过时的,因为它们提到使用旧的Firebase实现或仍然使用结构库的临时版本。所有这些都不再有效,当前的Firebase SDK只使用自身,不再有结构 下面是来自谷歌的消息 我确实在我的iOS项目中添加了Xamarin.Firebase.iOS.Crashlyticsv4.6.2 我确实调用了Firebase.Core.App.Configure

我很难让Crashlytics在我的Xamarin表单应用程序的iOS上运行。这不是现有问题的两面性。以下是我尝试过的:

  • 遵循所有现有SO票证。这些都是过时的,因为它们提到使用旧的Firebase实现或仍然使用结构库的临时版本。所有这些都不再有效,当前的Firebase SDK只使用自身,不再有结构
  • 下面是来自谷歌的消息
  • 我确实在我的iOS项目中添加了
    Xamarin.Firebase.iOS.Crashlytics
    v4.6.2
  • 我确实调用了
    Firebase.Core.App.Configure()在我的
    AppDelegate
    类中。此外,Firebase分析也可以工作
  • 我已经下载了最新的GoogleServices.plist文件
  • 我确实在Firebase控制台的Crashlytics页面上单击了“启用”按钮
  • 我确实按照他们的指示在我的主屏幕上实现了崩溃
  • 在构建期间,我确实使用版本配置。这是我的TeamCity命令:
    .sln”/t:iOS\\u iOS:rebuild”/p:Configuration=“Release”…
  • dsym在构建期间上载(TeamCity转储):
    成功提交了UUID为f9d1c2a3的架构arm64的符号,然后
    成功上载了Crashlytics符号
  • 我运行应用程序,它成功崩溃
  • 我再次运行应用程序,它也成功崩溃
  • 从来没有出现过这样的情况
我还尝试过在按下按钮时崩溃应用程序,以防在崩溃之间没有足够的时间发送挂起的Crashlytics报告。在手动崩溃之前让应用程序保持运行没有任何区别,Firebase控制台中仍然没有崩溃

我正在将该应用程序从TeamCity部署到AppCenter,从iPhone下载。这意味着我在没有调试的情况下直接从手机上运行发布版本


我遗漏了什么?

对于任何想知道的人来说,iOS构建的问题是由于缺少方法调用造成的。它没有在任何地方编写,并且有不完整的示例代码。通常提到的配置调用是:

Firebase.Core.App.Configure()

但单凭这一点并不能发送crashlytics,它只是打开了他们的收藏。发射后,需要进行以下工作:

Firebase.Crashlytics.Crashlytics.SharedInstance.SendUnentReports()


现在,iOS版本的crashlytics如预期般出现。

我想你自己找到了一个解决方案,很高兴知道是的。像你这样的现有教程帮助我确认我没有做错任何事。这只是其中的一个,我花了几个小时对所有事情进行反思,直到我注意到,对于iOS来说,有一套特定的方法可用,其中一种方法需要调用,而没有教程说它。我发出咆哮声,按F5进行重建,然后再给自己煮一杯咖啡。如果你能分享你所做的全部代码更改,这样我就可以将人们重定向到你的答案,以防他们遇到相同的问题。只要你调用
Firebase.Crashlytics.Crashlytics.SharedInstance.SendUncontreports()启动时,您已设置好。这是我认为唯一缺失的部分。