質問: ### 前提・実現したいこと XcodeでSchemeを作成し、DebugとReleaseでAPIの接続先を変更したいと思っております。 ### 発生している問題・エラーメッセージ こちらのサイトなどを参考にしていますが、 `Other Swift Flags`の各所に値を入れていますが、切り替わりません。 代わりに`Active Compilation Conditions`に値を入れてあげるとビルドが切り替わり正しくプリントされます。 そもそも参考サイトには`Active Compilation Conditions`の項目がないので こちらがどのような役割なのかも不明です。 こちらで切り替えてしまって大丈夫なのか、 `Other Swift Flags`のほうで切り替えができるのなら手順を教えていただきたいです。 ### 該当のソースコード ``` import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. #if DEBUG print("デバッグ") #elseif LOCAL print("ローカルデバッグ") #endif } } ``` ![スクショ](https://teratail.storage.googleapis.com/uploads/contributed_images/a5ac337c8906b760872cdeb39af8ce19.png) ![スクショ](https://teratail.storage.googleapis.com/uploads/contributed_images/656bc3614b2a87a4eab63f4aca4366e6.png) ### 補足情報(言語/FW/ツール等のバージョンなど) ・`Xcode8.2.1` ・`Swift3`
回答: https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html 上記によると、「Active Compilation Conditions」はXCode8から追加されたswiftコンパイル時に適用されるオプションを設定するものと記載されているので、少なくとも、XCode8以降では、こちらを利用すべきと思います。 Other Swift Flagsについては、あまりエビデンスとなる記事を見つけられなかったのですが、どうも他のプロジェクト、例えばPod等で追加されたものに対して適応される設定を指定するもののように見えます。