iOSアプリを開発するときには、デバッグ中にログを出力して、アプリの動作を確認したい場合があります。
しかし、アプリをリリースするときには、デバッグログを残しておくと、ユーザーに見られてしまいます。
そこで、以下の方法で、デバッグビルドのときはログを出力し、リリースビルドのときはログを出力しないようにしました。
Objective-Cのとき
アプリ名-Prefix.pchに以下の行を追加する。
#ifndef DEBUG
# define NSLog(...)
#endif
デバッグモードではNSLogが有効になり、実際のログメッセージがコンソールに出力されます。
リリースモードではDEBUGが定義されていないため、NSLogマクロの定義が無効化され、何も出力されなくなります。
Swiftのとき
#if !DEBUG
func print(
_ items: Any...,
separator: String = " ",
terminator: String = "\n"
) {
}
func debugPrint(
_ items: Any...,
separator: String = " ",
terminator: String = "\n"
) {
}
#endif
リリースモードではprint関数やdebugPrint関数の中身が空になり、何も出力されなくなります。