티스토리 뷰

실컷 설치해두고 ios 시뮬레이터에서 디버깅을 하니 firestore_app_check가 정상적으로 작동해서

차단당해버렸다.. 시뮬레이터에서 firestore_app_check를 하면 안되는 것이 맞다!

 

하지만 디바이스를 꽂아서 테스트하기엔 귀찮음이 심해 시뮬레이터에서 하는 방법이 있을거같아 찾아보았더니

 

https://firebase.google.com/docs/app-check/flutter/debug-provider?hl=ko 

 

Flutter로 디버그 제공자와 함께 앱 체크 사용  |  Firebase 앱 체크

5월 10일, Google I/O에서 Firebase가 돌아옵니다. 지금 등록하기 의견 보내기 Flutter로 디버그 제공자와 함께 앱 체크 사용 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류

firebase.google.com

이런게 있어서 시도해보았으나 Firebase App Check Debug Token이 아무리해도 안찍혀서

혹시나해서 ios+에서 디버그 제공자 사용을 들어가서 확인했더니 소스가 하나 추가 되어있었다..

FirebaseApp.configure()

 

 

 

어쨋든 flutter로 앞으로 계속 프로젝트를 진행할 예정이라 기록을 남기고자 사용방법을 기록하고자한다.

 

flutter 폴더에서 ios 폴더에 들어가서 Runner.xcworkspace 파일을 연다.

Runner 스키마를 클릭해주고 그다음 Edit Scheme를 클릭한다

 

그럼 Edit 창이 하나 이렇게 뜨는데 Run을 클릭해준다.

 

5. 그다음 Arguments Passed On Launch 하단에 +를 누르고 

 

-FIRDebugEnabled

를 입력후 하단에 Close버튼을 눌러 닫아준다.

 

 

프로젝트 디렉토리 폴더에서 AppDelegate.swift를 열어준다.

 

 

 

import UIKit
import Flutter
import Firebase // 추가

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {

// 추가 
#if DEBUG
  	let providerFactory = AppCheckDebugProviderFactory() 
  	AppCheck.setAppCheckProviderFactory(providerFactory)

  	FirebaseApp.configure()
#endif
 // 추가 끝
    GeneratedPluginRegistrant.register(with: self)

    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

 

이렇게 추가 후 시뮬레이터에서 빌드 후 Firebase App Check debug token를 검색하면 이렇게 시뮬레이터 토큰이 생성된다.

 

이 토큰 복사하여 이제 Firebase 홈페이지로 들어가서 프로젝트로 들어가 App Check를 클릭한 뒤 상단 메뉴중 앱을 클릭한다.

그리고 iOS+ 맨 우측에 마우스를 올려두면 버튼이 하나 생기는데 클릭하면 이렇게 사진처럼 디버크 토큰 관리가 생기는데 디버그 토큰 관리 버튼을 클릭해주자.

이렇게 생긴 화면이 뜨는데 

디버그 토큰 추가 버튼을 클릭한다.

 

이름은 본인이 식별하기 좋은 이름으로 추가하고 값에 상단에서 얻은 토큰값을 붙여넣고 저장하면 된다.

 

그리고 flutter에서 디버깅을 하면 Firebase 제품들을 사용할 수 있다.

 

시뮬레이터가 변경되면 token을 또 등록해줘야한다는 번거로움이 있지만..