はじめに
毎回本番・ステージング・開発などと環境を分ける際にやり方を忘れてしまうので備忘録を残します。
基本設定
まず最初にステージング環境から作成していきましょう。
Configurationsのプラスボタンを押下して Duplicate "Debug" Configuration を選択
そうすると、Debug環境が複製されるので Staging と入力
続いてBuild Settingsを設定します。
Active Compilation Conditionsと検索
これで、ソースコード上で環境ごとの条件分岐ができるようになります。
# if RELEASE
print("本番環境")
# elseif STAGING
print("検証環境")
# else
print("開発環境")
#endif
続いてSchemeの設定をしていきます。
Manage schemesを選択して設定画面を表示します。

デバック用スキームを選択すると、設定画面で以下の画像のようにDuplicateが選択できるようになるので選択

Scheme名を設定したら、Build ConfigurationをStagingに変更

もしApp Store Connectなどに配信する場合は、Archiveも同様にStagingに変更

同様の手順でReleaseの環境も作成します。
すると以下のようにデバッグ・リリース・検証で切り替えが可能となります。

上で書いたこのコードがそれぞれの環境で動くようになります。
# if RELEASE
print("本番環境")
# elseif STAGING
print("検証環境")
# else
print("開発環境")
#endif
最後にBundle Identifierの設定をします。
以下の画像のようにTARGETSのBuild SettingsでProduct Bundle Identifierと検索すると該当するものが表示されるため、それぞれの環境にBundle Identifierを登録すると設定は完了になります。

また以下のようにUser-DefinedでBundle Identifierのユニークな部分を設定

TARGETSのBuild SettingsでProduct Bundle Identifierと検索して一番上を以下のように変更

それぞれの環境をビルドしてアプリが環境ごとに作成されれば成功となります。



