Flutter:Firebase 尚未正确初始化
Flutter: Firebase has not been correctly initialized
我正在开发 iPhone 12 Pro Max 模拟器,macOS Catalina。
当我尝试 运行 应用程序时出现此错误:
[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: [core/not-initialized] Firebase has not been correctly initialized.
控制台也有提示:
通常这意味着您在调用 Firebase.initializeApp
.
之前尝试使用 Firebase 服务
我在使用 Firebase 之前对其进行了初始化。像这样:
void main() async {
print('-- main');
WidgetsFlutterBinding.ensureInitialized();
print('-- WidgetsFlutterBinding.ensureInitialized');
await Firebase.initializeApp();
print('-- main: Firebase.initializeApp');
runApp(const MyApp());
}
这是我在控制台输出中看到的:
Xcode build done. 132.9s
flutter: -- main
flutter: -- WidgetsFlutterBinding.ensureInitialized
[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: [core/not-initialized] Firebase has not been correctly initialized.
Usually this means you've attempted to use a Firebase service before calling `Firebase.initializeApp`.
我在控制台中看不到 -- main: Firebase.initializeApp
行。所以它在第一次尝试初始化 Firebase 时失败了。
我在 Firebase 中创建了 Android/Apple 个应用程序。下载 google-services.json
/ GoogleService-Info.plist
并放入项目中。
- GoogleService-Info.plist:
- google-services.json:
我没有使用 android,但我在 build.gradle 中添加了依赖项:classpath 'com.google.gms:google-services:4.3.10'
和app/build.gradle:apply plugin: 'com.google.gms.google-services'
依赖关系:
firebase_auth: ^3.3.5
firebase_messaging: ^10.0.9
google_sign_in: ^5.2.1
flutter --version:
Flutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 18116933e7 (3 months ago) • 2021-10-15 10:46:35 -0700
Engine • revision d3ea636dc5
Tools • Dart 2.14.4
我该如何解决这个问题?顺便说一句,我正在做一个全新的 flutter 项目。
当您将 google-services.json
添加到 iOS 项目时,您需要使用 Xcode 添加它,如以下文档所述:
https://firebase.flutter.dev/docs/manual-installation/ios
如果您通读该页面,您会发现以下注释:
adding [google-service.json] manually via the filesystem won't link the file to the project
您需要尝试,然后重新启动您的应用程序(重建它)。
编辑:补充说明:
您还需要将 firebase_core
添加到 pubspec.yaml
中的依赖项。
以下是我修复此错误的方法:
确保所有 firebase 服务都已添加到 pubspec.yaml 文件的依赖项部分。 firebase_core 似乎丢失了,并且需要将您的 flutter 应用程序连接到您的 firebase 项目。您可以使用命令 $flutter pub add firebase_core
简单地添加它
将 firebase 插件添加到您的主文件中:
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
将您的 void main 函数替换为异步函数:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(const YourAppGoesHere());
}
当我在 Xcode 中添加 GoogleService-Info.plist 文件时,我使用了错误的名称 GoogleService-Info**(1)**.plist。
如果您在下载中有相同的文件,mac 会在下一个下载的文件中添加一些副本。
我正在开发 iPhone 12 Pro Max 模拟器,macOS Catalina。
当我尝试 运行 应用程序时出现此错误:
[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: [core/not-initialized] Firebase has not been correctly initialized.
控制台也有提示:
通常这意味着您在调用 Firebase.initializeApp
.
我在使用 Firebase 之前对其进行了初始化。像这样:
void main() async {
print('-- main');
WidgetsFlutterBinding.ensureInitialized();
print('-- WidgetsFlutterBinding.ensureInitialized');
await Firebase.initializeApp();
print('-- main: Firebase.initializeApp');
runApp(const MyApp());
}
这是我在控制台输出中看到的:
Xcode build done. 132.9s
flutter: -- main
flutter: -- WidgetsFlutterBinding.ensureInitialized
[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: [core/not-initialized] Firebase has not been correctly initialized.
Usually this means you've attempted to use a Firebase service before calling `Firebase.initializeApp`.
我在控制台中看不到 -- main: Firebase.initializeApp
行。所以它在第一次尝试初始化 Firebase 时失败了。
我在 Firebase 中创建了 Android/Apple 个应用程序。下载 google-services.json
/ GoogleService-Info.plist
并放入项目中。
- GoogleService-Info.plist:
- google-services.json:
我没有使用 android,但我在 build.gradle 中添加了依赖项:classpath 'com.google.gms:google-services:4.3.10'
和app/build.gradle:apply plugin: 'com.google.gms.google-services'
依赖关系:
firebase_auth: ^3.3.5
firebase_messaging: ^10.0.9
google_sign_in: ^5.2.1
flutter --version:
Flutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 18116933e7 (3 months ago) • 2021-10-15 10:46:35 -0700
Engine • revision d3ea636dc5
Tools • Dart 2.14.4
我该如何解决这个问题?顺便说一句,我正在做一个全新的 flutter 项目。
当您将 google-services.json
添加到 iOS 项目时,您需要使用 Xcode 添加它,如以下文档所述:
https://firebase.flutter.dev/docs/manual-installation/ios
如果您通读该页面,您会发现以下注释:
adding [google-service.json] manually via the filesystem won't link the file to the project
您需要尝试,然后重新启动您的应用程序(重建它)。
编辑:补充说明:
您还需要将 firebase_core
添加到 pubspec.yaml
中的依赖项。
以下是我修复此错误的方法:
确保所有 firebase 服务都已添加到 pubspec.yaml 文件的依赖项部分。 firebase_core 似乎丢失了,并且需要将您的 flutter 应用程序连接到您的 firebase 项目。您可以使用命令 $flutter pub add firebase_core
简单地添加它将 firebase 插件添加到您的主文件中:
import 'package:firebase_core/firebase_core.dart'; import 'firebase_options.dart';
将您的 void main 函数替换为异步函数:
void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); runApp(const YourAppGoesHere()); }
当我在 Xcode 中添加 GoogleService-Info.plist 文件时,我使用了错误的名称 GoogleService-Info**(1)**.plist。 如果您在下载中有相同的文件,mac 会在下一个下载的文件中添加一些副本。