首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter没有创建Firebase应用程序‘[默认]’-调用Firebase.initializeApp()

Flutter没有创建Firebase应用程序‘[默认]’-调用Firebase.initializeApp()
EN

Stack Overflow用户
提问于 2022-07-23 22:49:38
回答 2查看 134关注 0票数 0

我正在学习最新的教程(2月- 链接),在编写与作者相同的代码时,我得到了以下例外:

代码语言:javascript
复制
======== Exception caught by widgets library =======================================================
The following FirebaseException was thrown building FutureBuilder<FirebaseApp>(dirty, state: _FutureBuilderState<FirebaseApp>#881ee):
[core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()

The relevant error-causing widget was: 
  FutureBuilder<FirebaseApp> FutureBuilder:file:///C:/Users/Mrky/Desktop/Sve/Faks/10_semestar/mynotes/lib/main.dart:30:13
When the exception was thrown, this was the stack: 
#0      MethodChannelFirebase.app (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:173:5)
#1      Firebase.app (package:firebase_core/src/firebase.dart:53:41)
#2      FirebaseAuth.instance (package:firebase_auth/src/firebase_auth.dart:38:47)
#3      HomePage.build.<anonymous closure> (package:mynotes/main.dart:37:34)
#4      _FutureBuilderState.build (package:flutter/src/widgets/async.dart:615:55)
#5      StatefulElement.build (package:flutter/src/widgets/framework.dart:4919:27)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4806:15)
#7      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
#8      Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#9      BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2659:19)
#10     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:891:21)
#11     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:370:5)
#12     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1146:15)
#13     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1083:9)
#14     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:997:5)
#18     _invoke (dart:ui/hooks.dart:151:10)
#19     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5)
#20     _drawFrame (dart:ui/hooks.dart:115:31)
(elided 3 frames from dart:async)
==========================================================================================

我目前编写的代码是:

代码语言:javascript
复制
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:mynotes/firebase_options.dart';
import 'package:mynotes/views/login_view.dart';


void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(
    MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.green,
      ),
      home: const HomePage(),
    ),
  );
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Home'),
      ),
      body: FutureBuilder(
        future: Firebase.initializeApp(
          options: DefaultFirebaseOptions.currentPlatform,
        ),
        builder: (context, snapshot) {
          switch (snapshot.connectionState) {
            case ConnectionState.done:
              print(FirebaseAuth.instance.currentUser);
              return const Text('Done');
            default:
              return const Text('Loading...');
          }
        },
      ),
    );
  }
}

由于它是可见的,我有Firebase.initializeApp在未来的FutureBuilder。此外,如果我注释掉行print(FirebaseAuth.instance.currentUser);,应用程序将显示没有任何问题的文本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-23 23:35:48

运行flutter clean,然后使用命令flutter pub add firebase_core添加省道发布包firebase_core。最后,运行flutter pub get来解决所有依赖项。

票数 1
EN

Stack Overflow用户

发布于 2022-07-24 01:38:16

使您的void异步,并在您的void中添加以下行。

代码语言:javascript
复制
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();

  runApp(const MyApp());
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73094714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档