NSLog不打印到控制台
我有一个工作了几个月的Xcode项目。 我从来没有与NSLog的问题,但升级到Xcode 4.2后,没有什么会login到控制台。 我什至试图把这个viewDidLoad:
- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"Can anyone hear me?");
没事了。 是否有其他人有这个问题或知道解决scheme?
那这很尴尬。 不知何故,控制台被取消了,我实际上正在观察variables窗口。 按Shift + + C的窍门。
非常感谢罗伯特金在这个线程:
这是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);
所有的日志回到了控制台之后,这是评论:)