您的位置:首页 > 其它

Xcode8 beta版无法输出NSLog问题

2016-08-16 10:45 267 查看
使用Xcode8的Beta版本进行Objective-C/iOS程序调试时,使用NSLog无法输出日志,同时输出以下内容:
subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0

subsystem: com.apple.FrontBoard, category: Common, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0

同样的Objective-C/iOS代码在Xcode7版本输出正常,没有出现。

苹果的官方论坛也有人提了Xcode8 beta的Bug https://forums.developer.apple.com/thread/49136
官方的解释是最新的Xcode的BUG,
然后,在Xcode8 beta 2中貌似解决了。
Resolved in Xcode 8 beta 2 – IDE
Debugging
When debugging an app on the Simulator, logs are visible. (26457535)

然后,在Xcode8 beta 4中又要解决了一遍。伤不起啊。
Known Issues in Xcode 8 beta 4 – IDE
Debugging
Xcode Debug Console shows extra logging from system frameworks when debugging applications in the Simulator. (27331147, 26652255)


StackOverflow上有人建议在输出日志的时候在日志最前方增一个特殊字符比如 ‘^’ 可以解决问题。Xcode8下实测有效

输出格式
// worked in Xcode8 beta
NSLog(@"^ Test Log")


为了一劳永逸,俺们还是定义NSLog的为DLog和ALog吧。
#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"^ %s line %d " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define DLog(...)
#endif
#define ALog(fmt, ...) NSLog((@"^ %s line %d " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);


参考 http://stackoverflow.com/questions/37800790/hide-xcode-8-logs
--------------------------------------------------------------------------------------

- 版权声明:

- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。

- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。

- 文章标题: Xcode8 beta版无法输出NSLog问题

- 独立博客:李大仁博客

- 永久链接:http://www.lidaren.com/archives/1684

--------------------------------------------------------------------------------------

以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: