Xcode8 log 和 真机调试Nslog()失效

1、屏蔽Xcode8 多余日志

屏蔽的方法如下:
Xcode8里边 Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加OS_ACTIVITY_MODE = Disable

Xcode8 log 和 真机调试Nslog()失效_第1张图片
设置scheme

2、真机调试下Nslog()失效

在做真机调试的情况下,会发现所有的Nslog的日志都被屏蔽了。这并不是上面的方法导致的。查找资料是因为,iOS10为了在真机上提高性能,而把Log日志给屏蔽了。
解决方案:
自定义Log 需要用printf()进行转换,真机才能输出日志。

// 自定义log
#ifdef DEBUG
#define NSLog(format, ...) printf("\n[%s] %s [第%d行] %s\n", __TIME__, __FUNCTION__, __LINE__, [[NSString stringWithFormat:format, ## __VA_ARGS__] UTF8String]);
#else
#define NSLog(format, ...)
#endif

在打包发布的时候,可以再屏蔽掉上面方法。

你可能感兴趣的:(Xcode8 log 和 真机调试Nslog()失效)