[Flutter] Flutter Firebase 연결

JH Cho·2023년 1월 25일
2

Flutter

목록 보기
7/8

Firebase 설치

firebase docs - 설치

  1. 처음엔 npm으로 설치했지만 계속 zsh not found 에러가 떠서 자동설치 스크립트를 이용하여 설치했다.
    curl -sL https://firebase.tools | bash
  2. firebase --version 으로 설치 확인
  3. firebase login 후 계정 로그인
  4. firebase projects:list으로 생성된 프로젝트 리스트를 확인할 수 있다.

완료

Firebase 시작

flutter에 Firebase 사용

1단계 : 필요한 커맨드 라인 툴 설치

  1. firebase CLI 설치는 위와 같이 하면 됨.
  2. firebase login - 로그인
  3. dart pub global activate flutterfire_cli
    flutterfire 설치하고 flutterfire를 호출해봤는데 command not found 발생.
  • flutterfire not found
    해결 참고 stackoverflow
    • .zshrc에 넣으라는 export~~ 를 넣고 터미널을 재실행하고 이것저것 했는데도
      flutterfire not found가 뜸.
    • 그래서 해당 디렉토리에서 export~~ 를 입력하고 flutterfire를 입력하니
      작동됨. 왜그럴까..?
      export PATH="$PATH":"$HOME/.pub-cache/bin"

      2시간 정도의 삽질을 통해 겨우 알아냈다.
      zshell을 사용한다면 .zshrc 파일을 통해 PATH(환경변수)를 관리하게 된다. 파일의 맨 밑 줄에 환경변수가 선언되어 있는데 환경변수는
      export PATH=경로1:경로2 이런식으로 여러개를 등록할 수 있다.
      요약

      1. export PATH=$PATH:$HUME/.pub-cache/bin 을 맨 밑에 추가
      2. 터미널) echo $PATH
        아래처럼 기존 경로에 경로가 추가된 결과가 나옴.
        /opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/jhmb/.pub-cache/bin
      3. flutterfire 쳐보면 명령어가 잘 실행됨을 알 수 있음.

      ❓❓직접 .zshrc를 만지지 않고 터미널 상에서 path등록 할 경우?

      • 최우선순위로 등록
        export PATH="/NEW/PROGRAM/RUN/PATH:$PATH"

      • 최하위 우선순위로 등록
        export PATH="$PATH:/NEW/PROGRAM/RUN/PATH"

        최우선은 경로 맨 앞에 최하위는 경로 맨 뒤에 추가되게 되는데
        주의할 점은 이렇게 하면 임시적으로 등록하는 것이기 때문에 터미널을 껏다 키게 되면 환경변수가 초기화되기 때문에 명령어가 먹지 않는다는 점이다.
        환경변수에 대한 참고글 링크

2단계 : FB 사용하기 위해 앱 구성(configure)하기

flutterfire configure

  • 기존 Firebase project를 사용하거나 새 Firebase 프로젝트를 생성하도록 선택 가능.
  • 기존 firebase 프로젝트에 이미 등록된 앱이 있으면 Flutter CLI는 현재 Flutter 프로젝트 구성을 기반으로 앱을 일치시키려 시도함.

https://github.com/invertase/flutterfire_cli/issues/127
이런 에러가 발생. ios 설정을 안해줘서 그렇다는데.. xcode 깔아보자.
-> xocode, cocoapods 깔고 했는데 똑같음.
-> 밑에 쓰레드 보니까 sudo gem install xcodeproj해서 해결됐다고 함. -> 해결. ㅠㅠ

3단계 : 앱에서 Firebase 시작하기

  1. 핵심 플러그인 설치
    • flutter pub add firebase_core
  2. Firebase 구성 최신 확인
    • flutterfire configure
  3. lib/main.dart 파일에 import
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
  1. main.dart에 코드 추가
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 위 코드는 문서에 없는 코드.. 바인딩 에러 뜸.
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(const App());
}

여기서 해결법 찾음.

4단계 : 플러그인 추가 사용 가능!

사용방법 및 플러그인 종류

profile
주먹구구식은 버리고 Why & How를 고민하며 프로그래밍 하는 개발자가 되자!

0개의 댓글