开发过程中,难免会使用NSLog来打印信息用于调试,但releae的软件却不能包含NSLog,否则有被打回的风险,但难道要在发布前把全部的NSLog都注释掉?那后续的调试呢?
下面,我们可以采用自定义宏来取代NSLog,只在DEBUG模式下输出Log信息。
#ifdef DEBUG_MODE
#define DLog( s, ... ) NSLog( @"<%@:(%d)> %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DLog( s, ... )
#endif
将下列代码加入项目的XXPrefix.pch文件中
然后在Target “ProjectXX” Info中,Configuration为DEBUG模式下,找到Preprocessor Macros这一设置项,在Value中加入
DEBUG_MODE=1