【问题标题】:Undefined name 'AuthException'. Firebase未定义的名称“AuthException”。火力基地
【发布时间】:2020-10-24 19:50:43
【问题描述】:

我收到类似的错误

未定义名称'AuthException'

当我尝试在我的 Flutter 应用程序中使用它时。

  Future<bool> login({phoneNr, BuildContext context}) async {
    _auth.verifyPhoneNumber(
      phoneNumber: phoneNr,
      timeout: Duration(seconds: 60),
      verificationCompleted: (AuthCredential credential) async {
        UserCredential result = await _auth.signInWithCredential(credential);
        User user = result.user;
        if (user != null) {
          Navigator.pushNamed(context, HomeScreen.id, arguments: user);
        }
      },
    verificationFailed: (AuthException exception) // THIS LINE HERE
    );
  }

我知道,他们可能会像将“FirebaseUser”更改为“User”一样将名称更改为“User”;但他们的正式文档仍将“AuthException”显示为有效类。然而,尽管导入和升级了所有预期的包,我仍然遇到同样的错误。有什么解决办法吗?

【问题讨论】:

    标签: firebase flutter firebase-authentication


    【解决方案1】:

    查看当前的api docs,您应该改用FirebaseAuthException

    您也可以删除类型并推断它: verificationFailed: (exception) {}

    【讨论】:

    • 已经尝试过这个和其他几个。不要工作。该文档指的是AuthException,而在lib代码中我看到了两者。迷惑啊!
    • 您使用的是哪个版本的 firebase_auth?
    • firebase_auth: ^0.18.1+2
    • 尝试删除类型并拥有verificationFailed: (exception)
    • @Akroa :是的,它成功了!我愚蠢地将类型用于 void 函数。谢谢。请将其发布为答案。
    【解决方案2】:

    如果您使用的是 Flutter 2,请使用 FirebaseAuthException 而不是 AuthException。

    【讨论】:

      猜你喜欢
      • 2021-09-11
      • 2016-09-17
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多