• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

해당 오류와 같은 문제가 발생하는데 제가 뭘 빼먹었을까요 ?

20.09.24 00:05 작성 조회수 933

1

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following FirebaseException was thrown building StreamBuilder<FirebaseUser>(state: _StreamBuilderBaseState<FirebaseUser, AsyncSnapshot<FirebaseUser>>#fe17e):
[core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()

The relevant error-causing widget was: 
  StreamBuilder<FirebaseUser> file:///C:/Users/PC/AndroidStudioProjects/instagram_clone/lib/root_page.dart:10:12
When the exception was thrown, this was the stack: 
#0      MethodChannelFirebase.app (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:118:5)
#1      Firebase.app (package:firebase_core/src/firebase.dart:52:41)
#2      FirebaseAuth.instance (package:firebase_auth/src/firebase_auth.dart:37:47)
#3      new _LoginPageState (package:instagram_clone/login_page.dart:14:43)
#4      LoginPage.createState (package:instagram_clone/login_page.dart:9:36)
...
════════════════════════════════════════════════════════════════════════════════════════════════════

답변 2

·

답변을 작성해보세요.

0

첫번째 질문은 강의 촬영 당시와 버전이 달라져서 사용방법이 달라져서 그런 것 같습니다.  Firebase.initializeApp() 을 호출해야 하는데 https://pub.dev/packages/firebase_auth/example 사이트의 샘플을 참고하여 main 메서드를 다음과 같이 작성해 보세요.

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(AuthExampleApp());
}

두번째 질문은 역시 버전업에 따라 사용 방법이 달라져서 그러니 FirebaseUser user 부분을 수정된 방법으로 사용하시기 바랍니다. 이 부분은 제 소스에 반영해 두었으니 참고해 주세요.

https://github.com/junsuk5/flutter_insta_clon/blob/master/lib/login_page.dart

Future<FirebaseUser> _handleSignIn() async {
    GoogleSignInAccount googleUser = await _googleSignIn.signIn();
    GoogleSignInAuthentication googleAuth = await googleUser.authentication;
    FirebaseUser user = (await _auth.signInWithCredential(
        GoogleAuthProvider.getCredential(
            idToken: googleAuth.idToken, accessToken: googleAuth.accessToken))).user;
    print("signed in " + user.displayName);
    return user;
  }

0

도장호님의 프로필

도장호

질문자

2020.09.24

아.. 그리고 구글 로그인 후 => 탭 페이지로 이동되지 않고
아래와 같은 메시지가 뜨는데 어떤걸까요.. ?

I/BiChannelGoogleApi(21852): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzaq@53783c9
D/FirebaseAuth(21852): Notifying id token listeners about user ( JkAgW8bUPWZ6WWe8s1eZZxfJRj23 ).
E/flutter (21852): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: type 'User' is not a subtype of type 'FirebaseUser'
E/flutter (21852): #0      _LoginPageState._handleSignIn (package:instagram_clone/login_page.dart:47:24)
E/flutter (21852): <asynchronous suspension>
E/flutter (21852): #1      _LoginPageState.build.<anonymous closure> (package:instagram_clone/login_page.dart:33:17)
E/flutter (21852): #2      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:992:19)
E/flutter (21852): #3      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:1098:38)
E/flutter (21852): #4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:184:24)
E/flutter (21852): #5      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:524:11)
E/flutter (21852): #6      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:284:5)
E/flutter (21852): #7      BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:219:7)
E/flutter (21852): #8      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:477:9)
E/flutter (21852): #9      PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:78:12)
E/flutter (21852): #10     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:124:9)
E/flutter (21852): #11     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:377:8)
E/flutter (21852): #12     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:122:18)
E/flutter (21852): #13     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:108:7)
E/flutter (21852): #14     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:220:19)
E/flutter (21852): #15     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:200:22)
E/flutter (21852): #16     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:158:7)
E/flutter (21852): #17     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:104:7)
E/flutter (21852): #18     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:88:7)
E/flutter (21852): #19     _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter (21852): #20     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter (21852): #21     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
E/flutter (21852): #22     _invoke1 (dart:ui/hooks.dart:267:10)
E/flutter (21852): #23     _dispatchPointerDataPacket (dart:ui/hooks.dart:176:5)
E/flutter (21852):