Firebaseの設定ファイルを環境ごと(DEV/STG/PRO)で分けたいマン


概要

タイトルに全て書いてしまったが、FirebaseやらAPIの接続先とかをDEV/STG/PRO環境で別々にしたかったので調べたメモ

設定周り

今回このような形で分けられるように設定
この手の設定はぐぐると古い記事が出てきてしまうのだが、Xcode8以降はActive Compilation Conditionsに設定するのが正解

        #if DEBUG
            let fileName = "GoogleService-Info-dev"
        #elseif STAGING
            let fileName = "GoogleService-Info-stg"
        #else
            let fileName = "GoogleService-Info"
        #endif

        let filePath = Bundle.main.path(forResource: fileName, ofType: "plist")
        let fileopts = FirebaseOptions(contentsOfFile: filePath!)
        FirebaseApp.configure(options: fileopts!)

おまけ

Staging向けの設定は、プロジェクトの下記debugから複製で作成した

現状これ動いてるのか謎なんですが、変に動かれても気持ち悪いので変えておいた

ちなみにnew schemaからこんな感じに環境ごとに設定をわけてるマン

APIの場合はbaseURLを環境ごとに切り替える感じでやってます。