🍁
Swift: リリース版でのみ処理を行う
#if DEBUG
// デバッグ版でのみ行いたい処理
#endif
#if DEBUG
// デバッグ版でのみ行いたい処理
#else
// デバッグ版以外(つまりリリース版)で行いたい処理
#endif
のように#if DEBUGを使うとデバッグ版でのみ処理を行うことができるのはそこそこ有名ですが、リリース版のみ処理を行いときにわざわざ#elseを使うのはアホらしいですよね。これ、PROJECT -> Build Settings -> Swift Compiler - Custom FlagsのActive Compilation Conditionsに設定を追加するだけでリリース版用のフラグを作れます。
Xcode 7以前はBuild SettingsのOther Swift Flagsに-D DEBUGとかフラグを追加するという方法しかなかったようなのですが、Xcode 8以降からはActive Compilation Conditionsが追加され、しかもデフォルトでデバッグ用のフラグが設定されていたようです。(最近まで知らずに、ずっとOther Swift Flagsを使っていました。)
ということで、フラグさえ追加してしまえば、
#if RELEASE
// リリース版でのみ行いたい処理
#endif
という風に処理を分けて書くことができますね。
ちなみに、リリース版で実行をするのは、Edit Scheme -> Run -> Info - Build ConfigurationでReleaseを選択すればOKですね。
Discussion