【Xcode】開発環境(ReleaseとDebug)モード(Build Configuration)の切り替え方法
この記事からわかること
- Xcodeで開発環境を切り替える方法
- ReleaseモードとDebugモードとは?
- Active Compilation Conditionsの設定方法と使い方
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
参考文献: What are Debug and Release Modes in Xcode? How to Check App is Running in Debug Mode?
アプリ開発の際にテスト用データやデバッグ機能などを実装してもリリース時には不要になります。Xcodeでは簡単にモードを切り替えることで開発と本番の環境を再現でき、分割させた管理が可能になっています。
Xcodeの2つのモード
iOSアプリ開発を行う上で使用するXcodeには内部的にReleaseとDebugの2つのモード(正確にはBuild Configuration)に切り替えることができるようになっています。基本的にはDebugモードは開発中、ReleaseモードはApp StoreやTestFlightに使用され、開発者は特に意識することなくビルドする際に自動(スキームで設定)で切り替わるようになっています。
Xcodeではこの2つのモードを手動で切り替えてビルドすることが可能です。
モードの切り替え方
Xcode上部メニューの「Product」>「Scheme」>「Edit Scheme」(⌘+<)から開発中のビルド(Run)やアーカイブ(App Store Connectへのアップロード)時のモードをそれぞれ変更することができます。
デフォルトでは以下のように「Profile」と「Archive」のみがReleaseになっています。
実行しているモードの確認方法
実行モードを切り替えられることが分かったので正常に動作しているか確認してみます。
#if DEBUG
Text("開発モード")
#else
Text("リリースモード")
#endif
コンパイラ制御ステートメントを使用してモードで表示させるビューを分岐させてみました。
おすすめ記事:【Swift】#ifや#availableとは?コンパイラ制御ステートメントの使い方!
Active Compilation Conditions - DEBUGフラグ
Xcodeではデバッグモードかどうかを識別するフラグであるDEBUG
が用意されています。 このフラグは「Project」>「Build Settings」>「Swift Compiler - Custom Flags」>「Active Compilation Conditions」で設定されています。
リリースモードの方は空白になっていますが任意の値(RELEASEなど)を入れるとコードから使用できるようになります。
#if RELEASE
Text("リリースモード")
#else
Text("開発モード")
#endif
ちなみにAndroidでは以下の方法で環境を変更できます。
Build Configurationの追加方法
Build Configurationを追加するには「PROJECT」>「Info」>「Configurations」で「+」をクリックし、追加したい環境の役割に応じた「Duplicate "XXXXX" Configuration」を選択します。例えばStaging環境を追加したい場合は「Duplicate "Debug" Configuration」を選択して追加し、環境名を「Staging」などにすれば完了です。
必要であれば「Active Compilation Conditions」フラグを追加したり専用のスキームを追加しておくと開発がスムーズになります。以下記事では環境ごとにバンドルIDやアプリ名を自動で変更する方法を紹介しています。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。