Xcode で Scheme を設定して実行モードを分ける
デバッグやテストを実行する時に、Swift の挙動を変えたい時があると思います。API の接続先などです。
Scheme を使うことで実現できます。
新しい Scheme を作る
- Product、Schemes、Manage Schemes...と進んでいく
- Scheme を新しく作る
- Run の Executable にアプリを指定することでデバッグ実行できるようになる
追加する際に Shared にチェックを入れると Git に含めることができる。
あるスキームの時だけ、挙動を変えるコード
Build Configuration
- プロジェクトツリーのルートをクリックして
- PROJECT を選択
- info を選択
- Configurations から追加(Debug か Release からコピーする)
Active Compilation Conditions
- プロジェクトツリーのルートをクリックして
- TARGETS を選択
- Build Settings を選択
- 検索窓に「Active Compilation Conditions」と入力
- Build Configuration で作った名前で登録されているので、Debug か Release から値を変更する
スキームの Build Configuration を設定する
- Manage Schemes から Scheme の設定画面にいく
- Build Configuration から先ほど作った Build Configuration を選択
Swift で条件分岐
下のようなコードで条件分岐する。
#if NEWDEBUG
print("NEWDEBUG")
#endif