環境毎の設定を用意したい

Pocket

環境毎の設定を用意したい!

昨今ではスタンドアローンで動くアプリよりWebと協調したアプリの方が多いのではと思います。
多くのプロジェクトでは開発用、検証用、本番用といった具合に開発のステージに合わせてサーバーが用意されていると思います。
WebサーバーのURLが異なっていたり、渡すパラメーターによって分岐するものと思われます。
そういった環境向けの設定を用意し、アプリを環境別に作成することが出来たら便利だと思いませんか?

1. 環境毎の設定を追加する

Targetを追加する

アプリも各環境毎に分けるために使用するのがターゲットです。ビルドターゲットとも呼ばれています。

  1. Project Navigatorを選択します
  2. プロジェクトを選択します
  3. TARGETSにあるプロジェクト名を変更します
  • ここではdevelopとします

Targrtを選択する
図1. Targetを選択する

  1. developで右クリックしメニューからDuplicateを選びます

Targrtを複製する
図2. Targetを複製する

  1. ターゲットが追加されました

Targrtが追加される
図3. Targetが追加される

  1. 追加されたターゲットの名前を変更し、用意したい環境の数だけ追加していきましょう
  • ここではstagingとreleaseを追加しました

Targrtを複数追加
図4. Targetを複数追加

  1. ターゲットをDuplicateする毎にInfo.plistファイルが追加されます。TARGET毎にInfo.plistを用意してもよいのですが、一つのファイルを使用した方が管理が楽なので削除します。
  2. ファイルを選択し、Deleteキーで削除します。
  • Xcode上で削除する場合、Remove Reference(ファイル参照の削除)とMove To Trash(ゴミ箱に移動)の選択が出ます。Remove RefereだとXcode上からは消えますが、実ファイルは削除されず残り続けます。Gitの管理上からも消えないので、Move To Trashの選択が良いと思います.

追加されたInfo.plistを削除
図5. 追加されたInfo.plistを削除

  1. DuplicateされたTARGETは削除されたplistを参照しているので、オリジナルのInfo.plistを指定します。設定はオリジナルのTERGETであるdevelopからコピーします。
  2. TARGETSからdevelopを選択します
  3. Build Settingを選択します
  4. Packagingの項目にある Info.plist File の値をコピーします
    – ここではios3/Info.plistとなっている値ですね

オリジナルのInfo.plist
図6. オリジナルのInfo.plist

  1. TARGETSからstagingを選択し、同様にInfo.plist Fileの値を確認してみましょう。削除したInfo.plistが値になっています。
    – ここでは develop copy-Info.plistとなっている値ですね
  2. 先程コピーした値で更新します
  3. releaseのTARGETも同様に変更しましょう

Info.plistの参照を変更
図7. Info.plistの参照を変更

ここまでで環境毎の設定が行えるようになりました。次回は環境毎のアプリ設定を行っていきます。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です