Как исправить «Значение типа» (FirebaseUser) → Null «нельзя присвоить переменной типа« (AuthCredential) → void »."? - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь настроить проверку подлинности телефона в своем приложении, но я застрял с этой ошибкой «Значение типа» (FirebaseUser) → Null «нельзя присвоить переменной типа» (AuthCredential) → void ».". Любая идея о том, как это исправить? Заранее спасибо за помощь!

class _AuthScreenState extends State<AuthScreen> {
 String phoneNo;
 String smsCode;
 String verificationId;

Future<void> verifyPhone() async {

final PhoneCodeAutoRetrievalTimeout autoRetrieve =(String verId) {
  this.verificationId = verId;

};

final PhoneCodeSent smsCodeSent = (String verId, [int 
forceCodeResend]){
  this.verificationId = verId;
};

final PhoneVerificationCompleted verifiedSuccess = (FirebaseUser 
user) {
  print("Verificado");

};

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

};

await FirebaseAuth.instance.verifyPhoneNumber(
    phoneNumber: this.phoneNo,
    timeout: const Duration(seconds: 5),
    verificationCompleted: verifiedSuccess,
    verificationFailed: verifiedFailed,
    codeSent: smsCodeSent,
    codeAutoRetrievalTimeout: autoRetrieve);
 }

1 Ответ

0 голосов
/ 03 июня 2019

Тип PhoneVerificationCompleted используется для получения FirebaseUser и возврата void, но это изменилось в некоторых из последних обновлений. Теперь он получает AuthCredential. Просто измените тип в методе, который вы присвоили переменной verifiedSuccess.

Это должно выглядеть так:

final PhoneVerificationCompleted verifiedSuccess = (AuthCredential credential) {
  print("Verificado");
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...