Xcode8真机调试测试NSLog不输出日志
2016-12-21 本文已影响188人
suzheya
前言:
升级Xcode8之后,会打印一些烦人的Log信息,隐藏不需要的Xcode8日志,
解决的办法:就是设置OS_ACTIVITY_MODE = disable,详细请看点击打开链接。
这样做在模拟器上是正常的,但是iOS10真机测试所有的Log日志全部被屏蔽了!这不是之前设置导致的,而是iOS10为了在真机上提高性能,所以把Log日志给屏蔽了。
解决方案:
自定义Log 需要用printf()进行转换,真机才能输出日志
//可以输出纯净的内容:NSLog去掉时间戳及其他输出样式
#ifdef DEBUG
#define NNSLog(FORMAT, ...) fprintf(stderr,"%s\n",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#defineNNSLog(...)
#endif
//我推荐用这个打印我们的日志:功能、行数
#ifdef DEBUG
#define NSSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSSLog(...)
#endif