可能重复:
难道不应该在生产代码中使用的NSLog()?
我是否需要发布应用前禁用的NSLog?
我需要删除所有这些都存在于我的项目发布版本在NSLOGs。 我曾尝试使用下面的代码试过,但通过电话仍在访问的身材,依旧的NSLog在控制台中显示出来。
#ifdef DEBUG
#define debug_NSLog(format, ...) NSLog(format, ## __VA_ARGS__)
#else
#define debug_NSLog(format, ...)
#endif
可能重复:
难道不应该在生产代码中使用的NSLog()?
我是否需要发布应用前禁用的NSLog?
我需要删除所有这些都存在于我的项目发布版本在NSLOGs。 我曾尝试使用下面的代码试过,但通过电话仍在访问的身材,依旧的NSLog在控制台中显示出来。
#ifdef DEBUG
#define debug_NSLog(format, ...) NSLog(format, ## __VA_ARGS__)
#else
#define debug_NSLog(format, ...)
#endif
简单地删除NSLogs:
#define NSLog(s,...)
一个#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
,如果你是在模拟器上运行它..