Firebase Configuration 팁

GoogleService-Info 파일이 여러개 사용하거나, 루트 디렉토리 외의 위치에서 사용하고 싶을 때
Posted on 2022-09-07 by GKSRUDTN99
Swift&Xcode Swift Firebase

let filePath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist")
if
  let filePath = filePath,
  let firebaseOptions = FirebaseOptions.init(contentOfFile: filePath)
{
  FirebaseApp.configure(options: firebaseOptions)
}
  1. Bundle.main.path(forResource:, ofType:) 메소드를 통해 GoogleService-Info 파일의 경로를 얻습니다.
  2. 경로를 매개변수로 FirebaseOptions 객체를 생성합니다.
  3. 생성된 FirebaseOptions로 FirebaseApp을 초기화합니다.

Build Configuration을 여러개 사용하여 GoogleService-Info 파일을 여러개 사용하는 경우,

Build Settings의 User-Defined Settings에서 GoogleService-Info 파일의 이름을 Build Configuration 별로 지정한 뒤,

Info.plist에 $(FIREBASE_RESOURCE) 와 같은 방식으로 빌드 할 때 Info.plist 파일에 해당 값을 읽어오고,

런타임에 Bundle.main.object(forInfoDictionaryKey:) 메소드를 통해 파일 이름을 가져와 filePath를 생성할 때 사용하면 됩니다.