NSLog不打印到控制台

我有一个工作了几个月的Xcode项目。 我从来没有与NSLog的问题,但升级到Xcode 4.2后,没有什么会login到控制台。 我什至试图把这个viewDidLoad:

- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"Can anyone hear me?"); 

没事了。 是否有其他人有这个问题或知道解决scheme?

那这很尴尬。 不知何故,控制台被取消了,我实际上正在观察variables窗口。 按Shift + + C的窍门。

非常感谢罗伯特金在这个线程:

https://devforums.apple.com/message/565880#565880

这是Xcode8 + iOS10的一个bug,我们可以这样解决:

模拟器上 ,添加名称OS_ACTIVITY_MODE和值variablesdisable并检查它(产品 – >计划 – >编辑计划 – >运行 – >参数 – >环境)。 在这里输入图像说明

设备上时 ,只能添加OS_ACTIVITY_MODE并检查它(不要添加值)。 您将在Xcode8控制台中看到NSLog。 在这里输入图像说明

我的问题是,我select了debugging器输出 。 一旦我将其更改为全部输出目标输出 NSLogs显示正常。

如果这使您在debugging区域的左侧感到困惑。

在iOS10中,控制台上显示了很多系统日志。 这可以通过在您的scheme的运行参数中包含OS_ACTIVITY_MODE = disabled来禁用

但是,对于iOS10,NSLog消息将不会再显示。 在较低的iOS版本中,消息仍将显示。 所以也许对于大多数testing用例,你可以使用较低的iOS版本。

否则,你可以包括一个Swift函数,打印(打印function)你的文本,这是在iOS10工作正常。

在iOS10.0.2和iOS9.3上testing

我的问题是,我不小心切断了App Delegate(代理文件的所有者)的引用sockets。

我遇到过同样的问题。 诀窍是从项目中search并删除下面提到的行。

  #define NSLog(...) 

search整个项目并将其删除。

对我来说,解决scheme是评论一个将日志输出redirect到文件的调用。 电话是:

 freopen(...,"a+",stderr); 

所有的日志回到了控制台之后,这是评论:)