Xcode で Scheme を設定して実行モードを分ける

デバッグやテストを実行する時に、Swift の挙動を変えたい時があると思います。API の接続先などです。

Scheme を使うことで実現できます。

新しい Scheme を作る

  1. Product、Schemes、Manage Schemes...と進んでいく
  2. Scheme を新しく作る
  3. Run の Executable にアプリを指定することでデバッグ実行できるようになる

追加する際に Shared にチェックを入れると Git に含めることができる。

あるスキームの時だけ、挙動を変えるコード

Build Configuration

  1. プロジェクトツリーのルートをクリックして
  2. PROJECT を選択
  3. info を選択
  4. Configurations から追加(Debug か Release からコピーする)

Active Compilation Conditions

  1. プロジェクトツリーのルートをクリックして
  2. TARGETS を選択
  3. Build Settings を選択
  4. 検索窓に「Active Compilation Conditions」と入力
  5. Build Configuration で作った名前で登録されているので、Debug か Release から値を変更する

スキームの Build Configuration を設定する

  1. Manage Schemes から Scheme の設定画面にいく
  2. Build Configuration から先ほど作った Build Configuration を選択

Swift で条件分岐

下のようなコードで条件分岐する。

#if NEWDEBUG
    print("NEWDEBUG")
#endif