【问题标题】:firebase_auth 0.18.3 upgrade breaks my projectfirebase_auth 0.18.3 升级破坏了我的项目
【发布时间】:2021-03-05 22:45:17
【问题描述】:

我在 ios 上使用 Flutter,我使用的是 firebase_auth 0.16.1 (with firebase_core) 0.4.4,我的项目大部分工作正常,但我的用户每次都需要通过授权。手机拒绝记住任何有关以前登录尝试的信息,这现在已成为一个问题。

所以经过一番挖掘,我发现 Firebase_auth 已经进行了一些升级,(应该)解决了这个问题,但是,我的实现显然缺乏。

所以我用 firebase_core 0.5.2 升级到 firebase_auth 0.18.3,这显然需要先进行初始化步骤。我直接从他们的网站复制了该代码,但它所做的只是给我一个错误。

这就是我现在所拥有的。

FirebaseAuth auth = FirebaseAuth.instance;

class PreValidation extends StatelessWidget {

  final Future<FirebaseApp> _initialization = Firebase.initializeApp();

  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
    future: _initialization,
    builder: (context, snapshot) {
      if (snapshot.hasError) {
        print("Uh Oh");
        return;
      }
      if (snapshot.connectionState == ConnectionState.done) {
        pretest();
        return;
      }

    }
    );
  }

我收到一条错误消息,提示 futurebuilder 返回 null。我知道我不能,但我不确定这应该返回什么。如果我知道它在寻找什么样的对象,那将是一个开始。

我的问题是我真的只需要在开始时运行这段代码,甚至在我的程序启动之前,如果成功,进入我的应用程序的主要部分,如果失败,通过身份验证。而这个从 firebase 设置的整个类真的被设置为一个基类,这真的不是我在这里做的。

【问题讨论】:

    标签: ios flutter firebase-authentication


    【解决方案1】:

    尝试更新您的 main() 函数(在 Flutter 1.22 上测试和工作,firebase_auth: ^0.18.1+1 & firebase_core: ^0.5.0:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:flutter/material.dart';
    
    void main() {
      WidgetsFlutterBinding.ensureInitialized();
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      // This widget is the root of your application.
      @override
      Widget build(BuildContext context) {
        
        return MaterialApp(
          title: 'Test',
          home: FutureBuilder(
            future: Firebase.initializeApp(),
            builder: (context, snapshot) {
              if (snapshot.hasError) {
                print('error');
              }
    
              if (snapshot.connectionState == ConnectionState.done) {
                 pretest();
                 return;
              }
    
              return Loading();
            },
          ),
        );
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 2021-05-22
      • 2014-10-16
      相关资源
      最近更新 更多