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)
}
Bundle.main.path(forResource:, ofType:)
메소드를 통해 GoogleService-Info 파일의 경로를 얻습니다.- 경로를 매개변수로 FirebaseOptions 객체를 생성합니다.
- 생성된 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를 생성할 때 사용하면 됩니다.