Info

Archive for

古いネタですが、メモ用で書いときます。

開発時はNSLogを有効にして、Enterprise, Release時には無効にしたい。
既に大量に書いたNSLogをそのままにしたい。DLog、ALogとかに書き換えたくない。

1. {ProjectName}_Prefix.pchファイルを開いて以下のコード追加

#ifdef NS_BLOCK_ASSERTIONS
#ifndef NSLog
#define NSLog( m, args... )
#endif
#else
#ifndef NSLog
#define NSLog( m, args... ) NSLog( m, ##args )
#endif
#endif

2. ターゲットのBuild SettingのPreprocessing
Enterprise, Release に NS_BLOCK_ASSERTIONS=1 追加

以上で、SchemeがDebug時のみNSLogが出力されて、Enterprise, Release時は無視されるようになる。