Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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
Flatter Firebase phone Auth始终在iOS上返回令牌不匹配_Ios_Flutter_Firebase Authentication - Fatal编程技术网

Flatter Firebase phone Auth始终在iOS上返回令牌不匹配

Flatter Firebase phone Auth始终在iOS上返回令牌不匹配,ios,flutter,firebase-authentication,Ios,Flutter,Firebase Authentication,我正在尝试使用手机身份验证,它在安卓系统上工作正常,但在iOS系统上,我总是得到令牌不匹配,并且没有收到代码 其他Firebase服务,如CloudFireStore和email Auth,在iOS上运行良好 我确保了以下几点: -在Firebase中添加了APN密钥 -谷歌服务文件已更新 -后台模式和推送通知功能已启用 错误消息来自PhoneVerificationFailed Future<void> _verifyPhoneNumber() async { setSt

我正在尝试使用手机身份验证,它在安卓系统上工作正常,但在iOS系统上,我总是得到令牌不匹配,并且没有收到代码

其他Firebase服务,如CloudFireStore和email Auth,在iOS上运行良好

我确保了以下几点:

-在Firebase中添加了APN密钥

-谷歌服务文件已更新

-后台模式和推送通知功能已启用

错误消息来自PhoneVerificationFailed

Future<void> _verifyPhoneNumber() async {

    setState(() {
      _message = '';
    });

    final PhoneVerificationCompleted verificationCompleted =
        (AuthCredential phoneAuthCredential) async {

      await _auth.signInWithCredential(phoneAuthCredential);

      setState(() {
        _message = 'Received phone auth credential: $phoneAuthCredential';

      });

    };

    final PhoneVerificationFailed verificationFailed =
        (AuthException authException) {
      setState(() {
        _message = '********************\n\n'
            'Phone number verification failed. Code: ${authException.code}.'
            '\n Message: ${authException.message}'
            '\n\n********************';
      });
    };

    final PhoneCodeSent codeSent =
        (String verificationId, [int forceResendingToken]) async {
      _verificationId = verificationId;

      setState(() {
        _message = 'waiting for code';
        //waitingCode = true;
      });
    };

    final PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout =
        (String verificationId) {
      _verificationId = verificationId;
    };

    try {
      await _auth.verifyPhoneNumber(
          phoneNumber: number,
          timeout: const Duration(seconds: 30),
          verificationCompleted: verificationCompleted,
          verificationFailed: verificationFailed,
          codeSent: codeSent,
          codeAutoRetrievalTimeout: codeAutoRetrievalTimeout);
    } catch (e) {
      print('Error is $e');
    }
  }

将Firebase Auth版本从0.14.0更改为

  firebase_auth:
    git:
      url: https://github.com/collinjackson/plugins.git
      ref: 441417c2fed0ff26bf84a49ab2c5ffd2aa5487de
      path: packages/firebase_auth
修正了我的问题。
有关更多详细信息,请参见

我知道现在回答这个问题已经太迟了。但我最近也遇到了同样的错误。我在iOS上解决了这个问题。您的整个配置必须有效。您需要进行两种设置

  • 从GoogleService-info.plist中删除任何滑动变量的方法 i、 e.从plist中删除
    FirebaseAppDelegateProxyEnabled
    属性

  • 在AppDelegate.swift中,重写此方法并设置以下内容

    func应用程序(应用程序:UIApplication, DidRegisterForRemotionTificationswithDeviceToken deviceToken:NSData){ Messaging.Messaging().apnsToken=deviceToken }

这是在


我正在使用
firebase\u消息:^6.0.16
并且上述设置已起作用

您可以发布错误消息文本吗?@ShadyBoshra是的,验证PhoneNumber错误和令牌不匹配是否仍然存在此问题?
  firebase_auth:
    git:
      url: https://github.com/collinjackson/plugins.git
      ref: 441417c2fed0ff26bf84a49ab2c5ffd2aa5487de
      path: packages/firebase_auth