【Xcode】User-Definedで環境変数やビルド設定を変更する

この記事からわかること
- XcodeのUser-Definedとは?
- ビルド設定を変更する方法
- APIのパラメータや環境変数を定義する
- Debug/Releaseモードで値を変更する
index
[open]
\ アプリをリリースしました /
User-Definedとは?
Xcodeの「TARGETS」>「Build Setting」>「User-Defined」はビルド設定に関わるさまざまな値を設定できる機能です。User-Definedは日本語で「ユーザー定義」という意味になります。Xcodeでは初めから内部的にDebugとReleaseの2つのモードが用意されており、User-Definedではアクティブになっているモードに応じて設定値を変化させることができるようになっています。
おすすめ記事:【Xcode】開発環境(ReleaseとDebug)モードの切り替え方法

よく使用されるのがAPIのパラメータ設定です。例えば開発中(Debug)はデモデータが格納されているエンドポイントを、本番(Release)は実際に使用するエンドポイントに切り替えるなどと行った際に環境によっていちいちコードを書き換える必要なく内部的に切り替えることが可能になります。
設定方法
新しく値を追加するには上部の「+」ボタンをクリックし「Add User-Defined Setting」をクリックします。すると入力できるようになるので「Setting」側にキー値となる文字列を入力し、DebugとReleaseのそれぞれに任意の値を渡します。

コード内から参照する
User-Definedに設定した値はプロパティリスト(.plist)から${SettingKey}
形式で参照することが可能になります。

例えば「info.plist」に登録することでBundle
クラスを使用して値を参照することが可能になります。
Bundle.main.infoDictionary!["API_PATH"]
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。
個人開発に限界を感じたらiOSに特化したプログラミングスクール「iOSアカデミア」も検討してみてください!無料相談可能で「最短・最速」でiOSエンジニアになれるように手助けしてくれます。