🍁
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