본문 바로가기

Flutter/Firebase

[Firebase] Flutter Firebase CLI 연동하기

Flutter Firebase CLI 연동하기!


1. Firebase 설치하기!

 

CMD에서 아래의 명령어로 설치할 수 있다.

 

$ curl -sL https://firebase.tools | bash

 

This script automatically detects your operating system, downloads the latest Firebase CLI release, then enables the globally available firebase command.

 

2. 제대로 설치되었는지 확인하기!

 

Firebase cmd가 작동하기만 하면 된다.

 

2.0 설치된 Firebase ver. 확인

$ firebase --version

 

2.1 Firebase Local 에서 로그인하기

$ firebase login

 

2.2 Firebase 에 있는 본인 프로젝트 확인

$ firebase projects:list

 

3. Flutter Project 생성 

 

3.1 CMD에서 Flutter Create 

$ flutter create 프로젝트명

 

3.2 프로젝트 열고 Firebase_core 추가하기

$ flutter pub add firebase_core

 

3.3 Firebase global activate -> 한번만 해주면 된다. ( CMD 에서 해주기 )

 dart pub global activate flutterfire_cli

 

여기서 warning 이 발생하면 .bash_profile 아래 경로 추가해주기!

export PATH="$PATH":"$HOME/.pub-cache/bin"

 

3.4 flutterfire configure -> 프로젝트 Root 에서 실행!

$ flutterfire configure

 

4. Firebase 에 Proj 생성

 

아래와 같이 나오고 원하는 Proj 명을 입력하면 Firebase Proj가 자동으로 생성된다.

Proj Create

 

만약에 아래와 같은 에러가 발생한다면 Proj 명을 바꿔보길 바란다.

 

 

4.1 IOS, Android, Web 등 설정하기 

 

진행하다보면 Firebase Proj에 어떤 Platform을 support 할거냐는 질문이 나오는데

기본적으로 IOS, Android, Web 이 Default 이다.

선택지는 (SpaceBar) 를 사용해서 추가하거나 뺄 수 있다.

선택 한 뒤 Enter를 누르면 자동으로 Platform에 대한 설정이 맞춰진다.

 

 

❌   여기서 IOS의 경우는 snack 형식을 지원하지 않아서 bundle을 camel_case로 입력해줘야하는데

경로: Ios/Runner.xcodeproj/project.pbxproj 

 

여기서 control + F 로 Bundle을 찾으면 ID를 확인 할 수 있다. 

그걸 입력하고 Enter 하면 firebase App이 생성된다.

 

 

5. 마무리 체크

 

마지막으로 APP을 Build 해봤을 때 아래와 같이 나오면 성공!

Launching lib/main.dart on sdk gphone arm64 in debug mode...
lib/main.dart:1
✓  Built build/app/outputs/flutter-apk/app-debug.apk.
Connecting to VM Service at ws://127.0.0.1:60637/y7b2CasAlDA=/ws
I/FirebaseApp(6500): Device unlocked: initializing all Firebase APIs for app [DEFAULT]

 

  • lib/main.dart
// Import the generated file
import 'firebase_options.dart';

void main() async {
  await Firebase.initializeApp;
  options: DefaultFirebaseOptions.currentPlatform,
);