我正在尝试将文件上传到独立的 Firebase 存储,但似乎不起作用。我不断收到以下异常:
E/flutter ( 1527): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: [core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()
E/flutter ( 1527): #0 MethodChannelFirebase.app (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:118:5)
E/flutter ( 1527): #1 Firebase.app (package:firebase_core/src/firebase.dart:52:41)
E/flutter ( 1527): #2 FirebaseFirestore.instance (package:cloud_firestore/src/firestore.dart:43:21)
E/flutter ( 1527): #3 new ForumsProvider (package:trumate/src/providers/forums.provider.dart:31:41)
E/flutter ( 1527): #4 CommonProvider.videoPost (package:trumate/src/providers/common.provider.dart:100:29)
E/flutter ( 1527): <asynchronous suspension>
E/flutter ( 1527): #5 CommonProvider.backgroundVideoUpload (package:trumate/src/providers/common.provider.dart:112:5)
E/flutter ( 1527): #6 FlutterIsolate._isolateInitialize.<anonymous closure>.<anonymous closure> (package:flutter_isolate/flutter_isolate.dart:128
我正在使用 flutter_isolate: ^1.0.0+14 插件。但问题似乎是在隔离内运行 Firebase 查询。
我的 main 有 await Firebase.initializeApp();
所以我不知道我遇到了这样的错误。
最佳答案
Flutter 中的分离株是完全分离的。分离。可以将其想象为有点像进程(从某种意义上说,两个隔离共享(几乎)不内存),而不是 Java 或 C 中传统线程的内存共享意义上的。
因此,如果您在主隔离区中初始化 Firebase(正如您在 main
中所做的那样),则不会在其他隔离区中初始化 Firebase。因此,请尝试在其他隔离中再次初始化它。
关于firebase - 如何在 Flutter 的隔离区中运行 Firebase 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65004832/