JQ Blog

ビルド環境設定(XCode)

XCode

XCodeの場合はTargetを分ける方法とConfigurationsを分ける方法の二つの方法がある。

◎ Configurationsを分ける方法

まず、プロジェクトのinfoタブでConfigurationsというところで追加させる。ReleaseとDebugがDefaultされてあるのでその中にStagingを入れてみる。
Alt text +を押し、DebugかReleaseをduplicateして名前を変える。 Alt text 続いてTargetsのBuildSettingsの+を押し、User-DefinedにBUNDLE_DISPLAY_NAME_PREFIXとBUNDLE_IDENTIFIER_SUFFIXを追加する。そしてActiveConpilationConditionsも下のように変える。BUNDLE_DISPLAY_NAME_PREFIXはアプリ名を分けるために追加、BUNDLE_IDENTIFIER_SUFFIXはアプリのBundleIdをそれぞれ分けるために追加する。また、ActiveConpilationConditionsはそれぞれのビルドの機能を分岐させるために追加する。 Alt text Alt text 次はschemeを分けて管理する。左上のschemeのところでNew Schemeを押してDebugとStagingのschemeを追加する。また、Edit SchemeでRelease,Debug,Stagingのそれぞれの設定をする。 Alt text Alt text そこまでできたらTargetsのinfoでBundle identifierとBundle nameを変更する。Bundle identifierは$(PRODUCT_BUNDLE_IDENTIFIER)の後ろに$(BUNDLE_IDENTIFIER_SUFFIX)を、Bundle nameは$(PRODUCT_NAME)の前に$(BUNDLE_DISPLAY_NAME_PREFIX)を入れる。 Alt text そうすれば下のようにGeneralで変更されたのを確認できる。 Alt text それぞれのビルドに機能を分岐させる場合は下のように#ifを使う。#ifのところにさっきのActiveConpilationConditionsに設定したのを入れる。 Alt text ビルド別にビルドしてみると、

Release

Alt text

Debug

Alt text

Staging

Alt text それぞれ違うソースコードが実行されたことをみることができる。
インストールされたデバイスをみたら、 Alt text 三つのアプリがインストールされる。

◎ Targetを分ける方法

今のTargetをduplicateしてもう一つのTargetを作る。もちろん+で追加しても良いが、同じソースコードを使うならばduplicateでも全然構わない。作ったら名前を変更し、また自動にinfo.plistファイルも生成されるのでそれのファイル名も変更。その後にGeneralでinfo.plistを選んで設定する。 Alt text そしてBuild SettingsでProduct Bundle Identifierを変更すればする。 Alt text さっきと同じようにschemeを追加する。 Alt text ActiveConpilationConditionsをカスタマイズするが、Targetを間違わないよう気をつける。 Alt text さっきの分岐のうえにさらに分岐してみる。 Alt text すると、新たのプロジェクトのRelease,Debug,Stagingをそれぞれ使うことができる。 Alt text Alt text Alt text そして、デバイスで確認してみるとまた三つが増えて六つもアプリがインストールされたのを確認できる。 Alt text