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

时间:2020-08-26 06:15:20

标签: firebase flutter firebase-authentication

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

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

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

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

我该如何解决?我应该只创建一个var并将其传递给updateInfo方法吗?

1 个答案:

答案 0 :(得分:2)

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);
          });

之后:

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