gpt4 book ai didi

android - 如何将 FlutterFire 与模拟器演示项目一起使用?

转载 作者:行者123 更新时间:2023-12-04 23:56:47 28 4
gpt4 key购买 nike

我正在使用带有 demo project 的 firebase 模拟器,没有创建任何实际的 firebase 项目资源。我正在使用以下命令...

firebase emulators:start --project demo-test --only firestore

这在 localhost:8080 成功启动了一个 Firebase 模拟器实例。

然后我在我的 flutter 应用程序中连接到 firebase,如下所示...

await Firebase.initializeApp();
FirebaseFirestore.instance.settings = const Settings(
host: 'localhost:8080',
sslEnabled: false,
persistenceEnabled: false,
);

运行 initializeApp 时,出现以下错误...

E/flutter ( 7724): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: [core/not-initialized] Firebase has not been correctly initialized.
E/flutter ( 7724):
E/flutter ( 7724): Usually this means you've attempted to use a Firebase service before calling `Firebase.initializeApp`.
E/flutter ( 7724):
E/flutter ( 7724): View the documentation for more information: https://firebase.flutter.dev/docs/overview#initialization
E/flutter ( 7724):
E/flutter ( 7724): #0 MethodChannelFirebase.initializeApp
package:firebase_core_platform_interface/…/method_channel/method_channel_firebase.dart:113
E/flutter ( 7724): <asynchronous suspension>
E/flutter ( 7724): #1 Firebase.initializeApp
package:firebase_core/src/firebase.dart:40
E/flutter ( 7724): <asynchronous suspension>
E/flutter ( 7724): #2 _MyHomePageState._asyncInit
package:mobile_app/main.dart:53
E/flutter ( 7724): <asynchronous suspension>
E/flutter ( 7724):

最佳答案

我当前的应用程序具有扩展 InheritedWidget 的 AppConfig 类在使用时保持实例可用。

你可以试试

class AppConfig extends InheritedWidget {

static AppConfig? of(BuildContext context) {
initializeFirebase();
return context.dependOnInheritedWidgetOfExactType<AppConfig>();
}

static Future<void> initializeFirebase() async {
try {
await Firebase.initializeApp();
} catch (e) {}
}
}

您需要在 main() 中初始化 AppConfig()

关于android - 如何将 FlutterFire 与模拟器演示项目一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72606620/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com