環境毎の設定を用意したい!
昨今ではスタンドアローンで動くアプリよりWebと協調したアプリの方が多いのではと思います。
多くのプロジェクトでは開発用、検証用、本番用といった具合に開発のステージに合わせてサーバーが用意されていると思います。
WebサーバーのURLが異なっていたり、渡すパラメーターによって分岐するものと思われます。
そういった環境向けの設定を用意し、アプリを環境別に作成することが出来たら便利だと思いませんか?
1. 環境毎の設定を追加する
Targetを追加する
アプリも各環境毎に分けるために使用するのがターゲットです。ビルドターゲットとも呼ばれています。
- Project Navigatorを選択します
- プロジェクトを選択します
- TARGETSにあるプロジェクト名を変更します
- ここではdevelopとします
図1. Targetを選択する
- developで右クリックしメニューからDuplicateを選びます
図2. Targetを複製する
- ターゲットが追加されました
図3. Targetが追加される
- 追加されたターゲットの名前を変更し、用意したい環境の数だけ追加していきましょう
- ここではstagingとreleaseを追加しました
図4. Targetを複数追加
- ターゲットをDuplicateする毎にInfo.plistファイルが追加されます。TARGET毎にInfo.plistを用意してもよいのですが、一つのファイルを使用した方が管理が楽なので削除します。
- ファイルを選択し、Deleteキーで削除します。
- Xcode上で削除する場合、Remove Reference(ファイル参照の削除)とMove To Trash(ゴミ箱に移動)の選択が出ます。Remove RefereだとXcode上からは消えますが、実ファイルは削除されず残り続けます。Gitの管理上からも消えないので、Move To Trashの選択が良いと思います.
図5. 追加されたInfo.plistを削除
- DuplicateされたTARGETは削除されたplistを参照しているので、オリジナルのInfo.plistを指定します。設定はオリジナルのTERGETであるdevelopからコピーします。
- TARGETSからdevelopを選択します
- Build Settingを選択します
- Packagingの項目にある Info.plist File の値をコピーします
– ここではios3/Info.plist
となっている値ですね
図6. オリジナルのInfo.plist
- TARGETSからstagingを選択し、同様にInfo.plist Fileの値を確認してみましょう。削除したInfo.plistが値になっています。
– ここでは develop copy-Info.plistとなっている値ですね - 先程コピーした値で更新します
- releaseのTARGETも同様に変更しましょう
図7. Info.plistの参照を変更
ここまでで環境毎の設定が行えるようになりました。次回は環境毎のアプリ設定を行っていきます。