Аутентификация телефона Firebase не работает на IOS - PullRequest
0 голосов
/ 09 февраля 2020

У меня проблема с firebase_auth verifyPhoneNumber на iOS. Я выполнил все требования по документации. APN работает нормально (можно получить FCM) и URL Scheme. Но всякий раз при вызове verifyPhoneNumber приходит SMS, но автоматическая проверка не работает.

Примечание: reCAPTCHA отлично работает на симуляторе. Кроме того, Android работает нормально

Future<Null> handleSignInMobile(String mobileNumber) async {
    var otpValidateScreen = OtpValidateScreen();

    final PhoneCodeSent smsOTPSent = (String verId, [int forceCodeResend]) {
      setState(() {
        isLoading = false;
      });

      this.verificationId = verId;

     var user = User(userName, userMobile, countryName, countryCode,
          loginOrSignUp, verificationId, forceCodeResend, mobileNumber);
      otpValidateScreen.updateUserDetails(user);
      var route = new MaterialPageRoute(
        builder: (BuildContext context) => otpValidateScreen,
      );
      Navigator.of(context).push(route); 


    };

    print("smsOTPSent: + $smsOTPSent");

    final PhoneVerificationCompleted verificationCompleted =
        (FirebaseUser user) {
      otpValidateScreen.phoneVCEvent(user);
    };

     print("verificationCompleted: + $verificationCompleted");

    final PhoneVerificationFailed verificationFailed =
        (AuthException exception) {
      print("${exception.message}");

    };

    print("verificationFailed: + $verificationFailed");

    final PhoneCodeAutoRetrievalTimeout retrievalTimeout =
        (String verificationId) {
      this.verificationId = verificationId;

    };

    print("retrievalTimeout: + $retrievalTimeout");

    try {
      await auth.verifyPhoneNumber(
          phoneNumber: mobileNumber,
          timeout: const Duration(seconds: 30),
          verificationCompleted: verificationCompleted,
          verificationFailed: verificationFailed,
          codeSent: smsOTPSent,
          codeAutoRetrievalTimeout: retrievalTimeout);
    } catch (onError) {
      setState(() {
        isLoading = false;
      });

      print("${onError.message}");
    }
  }

некоторые выходные данные:

flutter: smsOTPSent: + Closure: (String, [int]) => Null
flutter: verificationCompleted: + Closure: (FirebaseUser) => Null
flutter: verificationFailed: + Closure: (AuthException) => Null
flutter: retrievalTimeout: + Closure: (String) => Null
flutter: verId: + AM5PThCS_XDvaao6cXeZyhIVx7VxSS5-xxxxx....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...