前提NSLog
在XCode做开发调试debug时往往需要打印NSLog一些调试信息,当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件但是当应用跑在设备上时这些输出语句会在很大程度上影响应用的性能,针对这种问题可以写一些宏来控制这些调试信息的输出。
在release版本禁止输出NSLog内容
步骤一:在 "Target > Build Settings > Preprocessor Macros > Debug" 设置"DEBUG=1"即
步骤二:加入框架:#import <Foundation/Foundation.h>,在xx-Prefix.pch文件或者Header.h文件中加入代码:
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
#ifdef DEBUG
#define DLog( s, ... ) NSLog( @"<%@:(%d)> %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DLog( s, ... )
#endif
这样就可以直接在代码中直接使用DLog代替NSLog了。很久的内容了,现在才奉上