iOS 10 不打印 NSLogs

标签 ios xcode nslog xcode8 ios10

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并勾选(不加值)

enter image description here

enter image description here

总结: 这是Xcode 8 + iOS10的bug,我们可以这样解决:

  • 使用模拟器时,添加名称“OS_ACTIVITY_MODE”和值“禁用”并勾选。

  • 在真实设备上,只添加“OS_ACTIVITY_MODE”并勾选(不要添加Value)。 您将在 Xcode8 控制台中看到 NSLog。

关于iOS 10 不打印 NSLogs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886600/

相关文章:

ios - 显示键盘时隐藏 UITextField

ios - 如何区分原型(prototype) TableView 单元格?

ios - 为 iOS 构建 fftw

cocoa - NSLog 10b 含义?

iphone - NSLog 与 CGPoint 数据

ios - 在 Swift 中,为什么在此示例中 .zero 会填满整个窗口?

IOS - ios 中的 googlemaps polyutils 等效类

iphone - xCode iOS 开发 - Apple Mach-O 链接器错误//Dsymutil 错误

swift - tvOS 13 顶架 - NSExtensionPrincipalClass `product_module_name.ContentProvider` 必须实现至少一个公共(public)协议(protocol)

ios - NSLogs 中的 unsigned int 和 unsigned long Xcode 警告