今回はiOSアプリのビルドのターゲット分けについて記載しようと思います。
例えば、開発環境と本番環境で処置を分けたい場合やAPIのURLを分けたい場合があると思います。
そんなときに1つのプロジェクトで複数の環境を管理するためにターゲット分けを行います。
ターゲットの作成
まずはターゲットの作成を行います。
下記のように既存のターゲットを右クリックしてDuplicate
を選択してターゲットを複製します。
ターゲットを複製するとinfo.plist
ファイルも複製されるので、必要に応じて削除しましょう。(1つのファイルで管理する方が楽だと思います)
設定の追加
次に、Other Swift Flags
に -D TARGET名
を設定します。
この値はプログラム内でTARGET毎に処理を切り替えたい場合に、どのTARGETでビルドされているかを判定するために使います。
Build SettingのOther Swift Flags
にTARGET名を定義します。
定義したTARGET名で下記のように条件分岐を行うことができます。
#if DEVELOP // #elseif STAGING // #endif
Schemeの設定
各TARGETが設定できたら、起動のためのSchemeを作成します。
Schemeを作成することでターゲットごとにビルドすることができます。
まず、Xcode左上のScheme名のところからManage Schemes
を選択して、Schemeの一覧を表示します。
表示したときに名前が複製したときのものになっている可能性があるので、下記の赤枠で追加・削除することができるのでターゲットを修正しましょう。
補足
今回のように手間をかけなくてもプロジェクトを新規作成した場合にはDebug
とRelease
の2種類のターゲットが作られます。
なので、下記のようにソースコードで分岐は可能です。
#if Debug // #elseif Release // #endif
ただ、下記のような場合はターゲット分けの方がやりやすいので、個人的にはおすすめです。
・アプリに含めるリソースを変えたい
・Bundle IdentifierをTARGET毎に変えたい
・ホーム画面に表示されるアプリ名をTARGETによって変えたい