我需要在发布构建期间删除我的项目中存在的所有 NSLOG。我尝试使用下面的代码,但仍然通过电话访问构建,仍然 NSLOG 显示在控制台中。
#ifdef DEBUG
#define debug_NSLog(format, ...) NSLog(format, ## __VA_ARGS__)
#else
#define debug_NSLog(format, ...)
#endif
我需要在发布构建期间删除我的项目中存在的所有 NSLOG。我尝试使用下面的代码,但仍然通过电话访问构建,仍然 NSLOG 显示在控制台中。
#ifdef DEBUG
#define debug_NSLog(format, ...) NSLog(format, ## __VA_ARGS__)
#else
#define debug_NSLog(format, ...)
#endif
要简单地删除 NSLog:
#define NSLog(s,...)
没有指定替换的 A#define
将不替换任何内容,删除与 匹配的任何内容#define
。这适用于简单的令牌定义和类似上面的函数定义。
使用以下代码
#ifdef DEBUGGING
# define DBLog(fmt,...) NSLog(@"%@",[NSString stringWithFormat:(fmt), ##__VA_ARGS__]);
#else
# define DBLog(...)
#endif
确保正确设置了编译器标志。
另外,当您检查控制台时,您是否检查过您是否使用了发布模式?
用这个
#if TARGET_IPHONE_SIMULATOR
#define NSLog(fmt,...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define NSLog(...)
#endif
NSLog
如果您在模拟器上运行它,这将打印出来..