NSLog 不打印到控制台
Posted
技术标签:
【中文标题】NSLog 不打印到控制台【英文标题】:NSLog not printing to console 【发布时间】:2011-10-22 00:00:42 【问题描述】:我有一个工作了几个月的 Xcode 项目。我从来没有遇到过 NSLog 的问题,但是在升级到 Xcode 4.2 之后,什么都不会记录到控制台。我什至尝试在 viewDidLoad 中抛出这个:
- (void)viewDidLoad
[super viewDidLoad];
NSLog(@"Can anyone hear me?");
什么都没有。有其他人遇到这个问题或知道解决方案吗?
【问题讨论】:
检查这是否可以帮助你:***.com/a/34743750/1753005 【参考方案1】:嗯,这很尴尬。控制台以某种方式被停用,我实际上正在观看变量窗口。按 Shift + + C 就可以了。
非常感谢 Robert King 在此线程上的工作:
https://devforums.apple.com/message/565880#565880
【讨论】:
我有同样的东西,但不是在升级之后。我已经使用了一段时间了。我不知道它是怎么发生的……奇怪。另外,(如果这确实是一个错误)我想我应该注意我正在运行 Xcode 4.3.2 天哪。这也发生在我身上。我在这上面花了 2 天的时间,直到我在这里看到了“解决方案”。天哪。 我的控制台已打开,设置为显示所有输出,但我的 NSLogs 仍然没有显示。 @bugloaf 你修好了?我也面临同样的问题。 天哪!更新操作系统(XCOde 8.2.1)后现在发生谢谢!【参考方案2】:这是Xcode8 + ios10的一个bug,我们可以这样解决:
在模拟器上,添加名称OS_ACTIVITY_MODE
和值
变量disable
并检查它(产品 -> 方案 -> 编辑方案 -> 运行 -> 参数 -> 环境)。
在设备上,只添加OS_ACTIVITY_MODE
并勾选(不要添加Value)。您将在 Xcode8 控制台中看到 NSLog。
【讨论】:
【参考方案3】:在 iOS10 中,很多系统日志都显示在控制台上。这可以通过在您的方案的运行参数中包含 OS_ACTIVITY_MODE = disabled 来禁用
但是对于 iOS10,NSLog 消息将不再显示。 在较低的 iOS 版本中,消息仍将显示。因此,也许对于大多数测试用例,您可以使用较低的 iOS 版本。
否则,您可以包含一个打印(打印功能)您的文本的 Swift 函数,这在 iOS10 中可以正常工作。
在 iOS10.0.2 和 iOS9.3 上测试
【讨论】:
这是对我有用的解决方案。这是已报告的错误吗? 我相信是这样,因为 Apple 已经在新的 Beta 版中修复了这个问题。【参考方案4】:我的问题是我选择了 Debugger Output。一旦我将其更改为 All output 或 target output NSLogs 就会显示正常。
如果这让您感到困惑,它位于调试区域的左侧。
【讨论】:
Dayum ...你知道这让我困惑了多久吗?我一辈子都想不通为什么我看不到这个输出。【参考方案5】:我有同样的问题。 诀窍是从项目中搜索并删除下面提到的行。
#define NSLog(...)
搜索整个项目并将其删除。
【讨论】:
【参考方案6】:我刚刚经历过这种情况,所以还有一件事要检查。
-> 确保您没有在日志输出下方的过滤器字段中输入任何内容。因此,在我的情况下,我在记录器中搜索一个术语,却忘记从过滤器文本字段中删除搜索到的术语。哦!
【讨论】:
【参考方案7】:我的问题是我不小心切断了 App Delegate(委托 - 文件的所有者)的引用出口。
【讨论】:
以上是关于NSLog 不打印到控制台的主要内容,如果未能解决你的问题,请参考以下文章