おじさんエンジニアの日記

おじさんエンジニアがWeb関連の技術、ガンプラのことを書くブログ

NSLogの使い方

NSLogは便利だがリリース時にはいらない機能
リリースビルド時には消せないかと調べたら以下の方法でできる

info.plistの編集

Debug構成時のみ、GCC_PREPROCESSOR_DEFINITIONS項目にDEBUG文字列を設定する。

デバッグ用マクロを設定する

デバッグビルド時のみ出力するようにしておく
共通で読まれるPrefix.pchに書くのがいいのかな?

以下書き方

#ifdef DEBUG
//ソースファイル名,行番号を追加
#define logger(format, ...) NSLog((@"%s:" format), __FILE__, ##__VA_ARGS__)
#else
#define logger(...)
#endif

これでloggerで呼べば、デバッグビルド時のみログが出るようになる。

あと上記のような書き方だと
ファイル名、行数が出るようになる

詳細は以下
http://www.moonxseed.com/2009/03/28/nslog-%E3%81%A7%E3%82%AF%E3%83%A9%E3%82%B9%E5%90%8D%E3%80%81%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E5%90%8D%E3%82%92%E8%A1%A8%E7%A4%BA/