NSLog不打印到控制台

Rob*_*Rob 42 nslog

我有一个我已经工作了几个月的Xcode项目.我从未遇到过NSLog的问题,但在升级到Xcode 4.2之后,没有任何东西会记录到控制台.我甚至尝试在viewDidLoad中抛出它:

    - (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"Can anyone hear me?");
Run Code Online (Sandbox Code Playgroud)

没别的了.是否有其他人遇到此问题或知道解决方案?

Rob*_*Rob 77

嗯,这很尴尬.控制台以某种方式被取消激活,我实际上正在观察变量窗口.按Shift+ + C就可以了.

非常感谢Robert King在这个帖子上:

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


Igo*_*gor 60

这是Xcode8 + iOS10的一个bug,我们可以用这种方式解决它:

模拟器上,添加名称OS_ACTIVITY_MODE和值变量disable并检查它(产品 - >方案 - >编辑方案 - >运行 - >参数 - >环境). 在此输入图像描述

设备上时,只需添加OS_ACTIVITY_MODE并检查它(不要添加值).您将在Xcode8控制台中看到NSLog. 在此输入图像描述


Vin*_*ent 9

在iOS10中,控制台上会显示许多系统日志记录.可以通过在方案的Run Arguments中包含OS_ACTIVITY_MODE = disabled来禁用此功能

但是对于iOS10,NSLog消息将不再显示.在较低的iOS版本中,仍会显示消息.因此,对于大多数测试用例,您可以使用较低的iOS版本.

否则你可以包含一个Swift函数来打印(打印功能)你的文本,这在iOS10中运行正常.

在iOS10.0.2和iOS9.3上测试


tim*_*imv 8

我的问题是我选择了调试器输出.一旦我将其更改为所有输出目标输出 NSLogs显示正常.

如果这使您在Debug区域的左侧混淆了.