Flutter表示,Firebase应用程序尚未初始化,但initializeApp()已在void main()中使用



我得到错误

[core/no-app]尚未创建Firebase应用程序"[DEFAULT]"-调用Firebase.initializeApp((

但在我的代码中,我已经初始化了它。此外,在应用程序在移动上运行之前,安卓工作室编译器会这么说

I/FirebaseApp(20998(:设备解锁:初始化应用x 的所有Firebase API

我的代码:

Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
var fbApp = await Firebase.initializeApp();
runApp(MyApp());
}

我不知道main((是否可以是异步的,也许这是问题的根源。以下是适用于我的代码。

void main() {
WidgetsFlutterBinding.ensureInitialized();
runApp(MyApp());
}

然后我在状态类中调用initializeApp((方法。

class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final Future<FirebaseApp> _initFirebaseSdk = Firebase.initializeApp();
// ... rest of my logic ...
}

初始化firebase而不分配给变量

当您将其分配给变量时,编译器可能不会将其设置为默认实例。

同时卸下Future<void>,只更换void
然后您可以初始化firebase应用程序,而无需将其分配给任何变量。

void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
}

如果您试图访问初始化的firebase的(具体(应用程序,您可以这样做:
同样的方法也可以用于firebase的子服务。

FirebaseAuth.instance

最新更新