Firebase 셋팅 (다수 에러 해결 과정)
dependencies:
flutter:
sdk: flutter
http: ^0.13.4
image_picker: ^0.8.4+4
shared_preferences: ^2.0.11
provider: ^6.0.1
flutter_local_notifications: ^9.1.5
# firebase
firebase_core: ^1.10.6
firebase_auth: ^3.3.4
cloud_firestore: ^3.1.5
- firebase console 검색 → 프로젝트 생성
- IOS 앱 추가
- 앱 등록
- Apple 번들: android → app → build.gradle 파일의 하단에 defaultConfig 부분에 applicationId 라고 값이 있는데 해당 값을 추가해주면 됨.
- 여기서 보통 com.회사명.프로젝트명 으로 작명하게 되니 편하게 작성하면 될 듯.
defaultConfig {
// TODO: Specify your own unique Application ID (<https://developer.android.com/studio/build/application-id.html>).
applicationId "com.example.instagram"
// You can update the following values to match your application needs.
// For more information, see: <https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration>.
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
- 만약 프로젝트 생성시 회사명을 작성하지 않아 example로 기입되어 있을 경우 변경하는 방법
- 터미널 창을 열어서 (View → Tool Windows → Terminal)
- dart pub global activate rename (rename 설치)
- dart pub global run rename --bundleId com.회사명.instagram
- 위와 같은 과정을 거치면 작성한 대로 변경되는 것을 확인할 수 있다.
- 해당 ID를 Apple 번들 ID에 기입하기
- 앱 닉네임
- App Store ID
- 있다면 기업 없다면 그냥 나와있는 대로 작성하면 됨.
- 구성 파일 다운로드
- 그냥 다음 계속 누르면서 진행하면 됨 (요즘은 해당 방식대로 안한다고 함)
- 다음 단계
- Android 앱 추가
- 앱 등록
- Android 패키지 이름
- 앱 닉네임
- 디버그 서명 인증서
- 이후 그냥 다음 클릭
- 웹 등록
- 사용하기
- Flutter에 Firebase 셋팅 과정이 조금 복잡해서 쉽게 해주는 패키지를 설치
- 터미널 → dart pub global activate flutterfire_cli
- 이후 Warning에 나오는 Pub installs executables into 경로, which is not on your path.에서
- 경로를 환경변수에 등록하기
- (윈도우)
- Window → 시스템 환경 변수 편집 → 환경 변수 → user에 대한 사용자 변수 → Path 더블 클릭 → 새로 만들기 → 경로 붙여넣기 → 확인
- (맥)
- terminal → open ~/.zshrc or open ~/.bash_profile → 생성된 곳에 경로를 붙여넣기 → 저장
- android Studio 재시작
- 다시 터미널을 켜고 flutterfire configure 입력
- 여기서 에러가 계속 발생하는 경우
- 확인할 것!
- NodeJS가 설치 되어있는지 확인
- 안되어 있다면 nodeJS 페이지에서 LTS 버전 설치
- 설치 이후 윈도우 → cmd → npm install -g firebase-tools 입력 후 설치
- 이후 다시 flutterfire configure 입력
- 에러 발생하고 firebase login 라는 문구가 있다면
- firebase login 입력
- firebase: 이 시스템에서 스크립트를 실행할 수 없으므로 라는 에러가 발생한다면
- 윈도우 → PowerShell (관리자권한) → get-ExecutionPolicy 실행
- Restricted 가 나온다면 아래의 코드로 권한 변경 (현재는 권한이 제한 되어있어서 실행 불가 에러 발생)
- Set-ExecutionPolicy RemoteSigned 입력 후 y 입력
- 다시 get-ExecutionPolicy 실행 후 확인
- 위의 과정을 거친 후 다시 firebase login 입력
- 이후 다시 flutterfire configure 입력 (끝)
- 이후 원하는 거 선택 후 완료가 되면 아래의 코드를 main.dart의 import 부분과 main()함수 내에 추가하기
// firebase
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
void main() async{
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
defaultConfig {
applicationId "com.작명.instagram"
minSdkVersion 21
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}