adm*_*ffy 30 dart firebase flutter
由于我是 firebase 的新手,我已经存在重复名称的问题,我需要你的帮助。
\nE/flutter (21802): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: [core/duplicate-app] A Firebase App named "[DEFAULT]" already exists\nE/flutter (21802): #0 MethodChannelFirebase.initializeApp\npackage:firebase_core_platform_interface/\xe2\x80\xa6/method_channel/method_channel_firebase.dart:111\nE/flutter (21802): <asynchronous suspension>\nE/flutter (21802): #1 Firebase.initializeApp\npackage:firebase_core/src/firebase.dart:41\nE/flutter (21802): <asynchronous suspension>\nE/flutter (21802): #2 main\npackage:flutterbuyandsell/main.dart:47\nE/flutter (21802): <asynchronous suspension>\nE/flutter (21802):\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa6/method_channel/method_channel_firebase.dart:111
\n\n包:firebase_core/src/firebase.dart:41
\n\n包:flutterbuyandsell/main.dart:47
\n\nomz*_*zer 72
我通过向initializeApp方法添加一个名称解决了这个问题:
await Firebase.initializeApp(
name: 'name-here',
options: DefaultFirebaseOptions.currentPlatform,
)
Run Code Online (Sandbox Code Playgroud)
为了保持一致性,我使用了 Firebase 控制台中使用的相同名称作为我的项目 ID,请记住,您不能在名称中添加空格(只能添加破折号-)。
Exo*_*uid 21
如果此文件中的任何值(如projectId/ PROJECT_ID、apiKey/API_KEY等)与ios/Runner/GoogleService-Info.plist此文件中的信息不匹配,则此解决方案应该适合您firebase_options.dart。这意味着您的第二个应用程序的 Firebase 初始化以某种方式搞砸了,因此,我们需要修复它。
从项目根目录中,按顺序运行这些命令:
删除包含可能未通过 FlutterFire 正确更新的 Firebase 信息的文件:
rm ios/Runner/GoogleService-Info.plist
Run Code Online (Sandbox Code Playgroud)
运行configure以重新创建该GoogleService-Info.plist文件:
flutterfire configure
Run Code Online (Sandbox Code Playgroud)
清理你的构建:
flutter clean
Run Code Online (Sandbox Code Playgroud)
清理后再次获取依赖:
flutter pub get
Run Code Online (Sandbox Code Playgroud)
运行您的应用程序(从头开始,无需热重载!):
flutter run
Run Code Online (Sandbox Code Playgroud)
小智 15
flutter clean
Run Code Online (Sandbox Code Playgroud)
和
flutter pub get
Run Code Online (Sandbox Code Playgroud)
连续执行这两个命令解决了我的问题。
小智 8
在 Flutter 中添加这个
注意 - 在整个项目中仅使用一次“Firebase.initializeApp”。
// 等待默认 Firebase 应用程序初始化
if (Firebase.apps.isEmpty) {
await Firebase.initializeApp(
name: 'YourAPP',
options: DefaultFirebaseOptions.currentPlatform,
).whenComplete(() {
print("completedAppInitialize");
});
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我通过添加 Firebase 项目的名称解决了这个问题。你可以试试这个:
await Firebase.initializeApp(
name: 'name of your App in FireStore',
options: DefaultFirebaseOptions.currentPlatform,
)
Run Code Online (Sandbox Code Playgroud)
小智 0
if (Firebase.apps.isEmpty) {
await Firebase.initializeApp();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25936 次 |
| 最近记录: |