// 以release模式編譯的程序不會用NSLog輸出,而以debug模式編譯的程序將執行NSLog的全部功能。
#ifndef __OPTIMIZE__
# define NSLog(...) NSLog(__VA_ARGS__)
#else
# define NSLog(...)
#endif
或
#ifdef __OPTIMIZE__
#define NSLog(...)
#endif
這個代碼的魔術在於:release模式通常會定義 __OPTIMIZE__,debug模式不會。
將這段代碼放在頭文件當中,就可以放心的使用NSLog了!
把這些代碼放到*Prefix.pch中最省事。可以把這段宏定義放到一個頭文件中,再把這個頭文件包含到*Prefix.pch中。
原文:http://lichen1985.com/blog/?p=251