概要
タイトルに全て書いてしまったが、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を環境ごとに切り替える感じでやってます。