iOSアプリを作るときにReleaseビルドのときはデバッグログを出力しない

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関数の中身が空になり、何も出力されなくなります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください