任何人都可以帮助我如何为Xamarin iOS使用Xamarin.Firebase.iOS.Crashlytics nuget软件包。我在随机位置的代码中收到SIGSEGV代码错误,但无法找出实际问题。 搜索了很多有关如何在Xamarin iOS中实现Crashlytics的信息,但是我找不到任何东西。 遵循以下两个链接中给出的步骤,但是我只能借助这两个链接在xcode中实现Crashlytics。 Link 1 Link 2
答案 0 :(得分:1)
不确定您是否已解决问题,但由于这篇文章几乎将我带到了终点线,我将试一试。可能还有其他人在寻找如何做到这一点。
截至2018年底,Crashlytics从Fabric转到Firebase,这导致了许多旧帖子不再适用。
要使nuGet包正常工作,您需要执行以下操作:
转到firebase console并创建一个项目。然后添加一个输入“捆绑ID”的应用程序,该名称必须与您的xamarin应用程序中的名称相同。昵称和App Store ID是可选的。
您现在将获得一个GoogleService-Info.plist文件,下载该文件。现在是棘手的部分。要初始化firebase应用,您需要创建一个虚拟的xCode项目,该项目具有与您的项目相同的捆绑包标识符:
制作一个新的xCode项目,并按照firebase中的说明进行操作
请记住在安装Pod之后使用.xcworkspace文件打开项目。
在firebase控制台的设备上编译并运行此应用,如果一切正常,您将希望看到一些反应。
现在将其添加到visualStudio xamarin应用程序中,首先将GoogleService-Info.plist包含到您的项目中,然后将构建操作更改为“捆绑资源” 然后将Xamarin.Firebase.iOS.Core和Xamarin.Firebase.iOS.Crashlytics程序包添加到iOS项目。
几乎在那里,只剩下两件事要做。
在FinishedLaunching函数的AppDelegate.cs文件中,添加:
Firebase.Core.App.Configure();
Crashlytics.Configure();
Fabric.Fabric.SharedSdk.Debug = true; // To enable debugging
并且还记得在文件顶部添加两个命名空间Firebase.Core和Firebase.Crashlytics。
最后一步是在没有调试器的情况下运行应用程序,因为调试器将吞噬所有错误。
应该是这样。
有关crashlytics的更多信息,请获取github page
答案 1 :(得分:0)
对于iOS:
将以下代码行添加到应用程序中的某些位置,通常是在AppDelegate的FinishedLaunching方法中(不要忘记导入Firebase.Core和Firebase.Crashlytics命名空间):
App.Configure ();
Crashlytics.Configure ();
对于Android:
创建一个名称为com.crashlytics.android.build_id的字符串资源。该值可以是您要用来唯一标识特定内部版本的任何值。 清理并重建您的解决方案。
Fabric.Fabric.With(this, new Crashlytics.Crashlytics());
Crashlytics.Crashlytics.HandleManagedExceptions();
我最近写了一个博客,将您的Xamarin应用程序与Firebase Crashlytics集成在一起,在这里我详细介绍了如何配置Xamarin Apps:
https://medium.com/@hakimgulamali88/firebase-crashlytics-with-xamarin-5421089bb561
答案 2 :(得分:-2)
要在Xamarin中实施Firebase Crashlytics,只需执行几个步骤。
首先,您必须使用相同的包标识符在Xcode中创建一个虚拟项目。
您可以遵循此https://fabric.io/kits/ios/crashlytics/install,以在Xcode中实现Crashlytics。
对于Xamarin,现在使用相同的捆绑包标识符,并在info.plist文件中添加以下行
<key>Fabric</key>
<dict>
<key>APIKey</key>
<string>Your api key</string>
<key>Kits</key>
<array>
<dict>
<key>KitInfo</key>
<dict/>
<key>KitName</key>
<string>Crashlytics</string>
</dict>
</array>
</dict>
现在在AppDelegate中导入Fabric和Crashlytics,然后使用以下方法初始化Fabric实例:
Fabric.with([Crashlytics.self])