Xcode 8.0 beta (8S128d) 上的 NSLog
不打印任何内容。 printf
不变
这是我的代码:
NSLog(@"hello from NSLog");
printf("hello from printf");
这是 iOS 9 模拟器上的输出:
2016-06-17 09:49:10.887 calmapp-dev[28517:567025] hello from NSLog
hello from printf
这是 iOS 10 模拟器上的输出:
hello from printf
最佳答案
可能是您在 Scheme 环境变量中添加了属性 "OS_ACTIVITY_MODE": "disable"(以隐藏模拟器的 OS 输出)并忘记了它,现在正在真实设备上运行。
在 Xcode 8 中:
Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment Variables
只加OS_ACTIVITY_MODE
并勾选(不加值)
总结: 这是Xcode 8 + iOS10的bug,我们可以这样解决:
使用模拟器时,添加名称“OS_ACTIVITY_MODE”和值“禁用”并勾选。
在真实设备上,只添加“OS_ACTIVITY_MODE”并勾选(不要添加Value)。 您将在 Xcode8 控制台中看到 NSLog。
关于iOS 10 不打印 NSLogs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886600/