未为类型“AuthService”定义方法“UserUpdateInfo”

Him*_*rma 3 firebase firebase-authentication flutter

我将 firebase_auth 升级到 ^0.18.0+1,但出现了一些错误:

  • 未定义类“AuthException”。
  • “getCredential”已弃用,不应使用。
  • FirebaseAuth.instance.currentUser():表达式不会计算为函数,因此无法调用它。

我修复了上面的问题,但无法修复下面的问题:

  • 没有为类型“AuthService”定义方法“UserUpdateInfo”。尝试将名称更正为现有方法的名称,或定义名为“UserUpdateInfo”的方法。

我该如何解决这个问题?我应该创建一个 var 并将其传递到 updateInfo 方法中吗?

Mut*_*sek 5

FirebaseAuth api 在版本 0.18.0 中已更改。https://firebase.flutter.dev/docs/migration#authentication

UserUpdateInfo 类已被删除,以支持命名参数,并且 currentUser() 方法不再是异步的。

前:

          await FirebaseAuth.instance.currentUser().then((val) async {
            final userUpdateInfo = UserUpdateInfo();
            userUpdateInfo.displayName =
                '${appleIdCredential.fullName.givenName} ${appleIdCredential.fullName.familyName}';
            userUpdateInfo.photoUrl = 'define an url';
            await val.updateProfile(userUpdateInfo);
          });
Run Code Online (Sandbox Code Playgroud)

后:

          await FirebaseAuth.instance.currentUser.updateProfile(
            displayName:
                '${appleIdCredential.fullName.givenName} ${appleIdCredential.fullName.familyName}',
            photoURL: 'define an url',
          );
Run Code Online (Sandbox Code Playgroud)