您可以在同一个Xamarin.IOS项目中使用Firebase Auth和Firebase Analytics吗?

问题描述 投票:0回答:2

我正在使用Firebase Auth集成的Xamarin.Forms应用程序。我已经为Android和iOS设置了Dependency Service,以便在出现提示时创建新用户。 Android依赖项工作正常,但每当我在iOS依赖项中调用任何“Auth”方法时,应用程序在启动时崩溃,并从我的委托文件中的“Firebase.Core.App.Configure()”行抛出以下错误:

已抛出Foundation.MonoTouchException

抛出Objective-C异常。名称:NSInvalidArgumentException原因: - [FIRApp setGetTokenImplementation:]:无法识别的选择器发送到实例0x282d3d1a0

......然后是一英里长的堆栈跟踪

我目前的iOS依赖关系代码如下:

using System;
using Xamarin.Forms;
using ActNearMe; //name of my app
using Firebase.Auth;
using Firebase.InstanceID;
using Firebase.Core;
using System.Collections.Specialized;
using System.Net;
using System.Threading.Tasks;

[assembly: Dependency(typeof(IFirebaseInterface))]
namespace ActNearMe.iOS
{
    public class FirebaseInterface : IFirebaseInterface
    {
    WebClient client = new WebClient();
    NameValueCollection sendingData;

    public void CreateNewUser(string email, string password, NameValueCollection userData)
    {
        //sendingData = userData;

        //Anytime I call anything with Auth here, the app won't even load.
        Console.WriteLine(Auth.CurrentVersion);


        //Auth.DefaultInstance.CreateUser(email, password,(authResult, error) => { 

        /*client.UploadValuesCompleted += (sender, e) =>
        {

            Console.WriteLine("it's done!");


        };
        client.UploadValuesAsync(new Uri("http://www.cvx4u.com/anm_web_services/create_user.php"), sendingData);
        */

       //});

    }




    }

}

这是我的错误日志:

2019-04-15 10:18:53.724 ActNearMe.iOS[6964:1670900] +[FIRApp    registerAsConfigurable:]: unrecognized selector sent to class 0x1060d1bb8
2019-04-15 10:18:53.724 ActNearMe.iOS[6964:1670900] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[FIRApp registerAsConfigurable:]: unrecognized selector sent to class 0x1060d1bb8'
*** First throw call stack:
(0x22401c518 0x2231f79f8 0x223f3e2c4 0x224021d60 0x2240239fc 0x2231f9ffc 0x2231fbe54 0x106626390 0x106638314 0x106637370 0x10663742c 0x1066266d8 0x10662b2a0 0x106625044)
libc++abi.dylib: terminating with uncaught exception of type NSException
Application 'com.russjowell.actnearme' terminated.
Launched application 'com.russjowell.actnearme' on 'iPhone (2)' with pid 6964

更新所以我一直在玩弄开关,省略某些代码行等等。我也在使用Firebase Analytics和我的应用程序,当我从我的Xamarin.iOS项目中删除Firebase iOS NuGet Analytics软件包时,一切正常,但是当您同时使用Google Analytics和Auth软件包时,崩溃就会重新开始。所以我想我的新问题是:是否可以在同一个项目中同时使用Firebase iOS Auth和Firebase iOS Analytics?任何见解都会有所帮助。

firebase xamarin xamarin.ios firebase-authentication
2个回答
0
投票

该错误表示应该处理应该处理该消息的对象。

这可能是绑定的问题,也可能是向Firebase提供回调的方式。

无法仅从您的代码段中诊断问题,因此快速解决方法是执行以下操作:

无论将C#对象传递给Firebase的对象是什么,都可能需要保存在静态全局变量上。这将确保它不会被处置。


0
投票

问题在于NuGet包。

该内部方法存在于v5.1.8中,但不存在于v5.2.0中。

现在,请降级到5.1.8

https://github.com/xamarin/GoogleApisForiOSComponents/issues/245

© www.soinside.com 2019 - 2024. All rights reserved.