我有一个我已经工作了几个月的Xcode项目。我从未遇到过NSLog的问题,但在升级到Xcode 4.2之后,没有任何东西会记录到控制台。我甚至尝试在viewDidLoad中抛出它:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Can anyone hear me?");
没什么。是否有其他人遇到此问题或知道解决方案?
答案 0 :(得分:77)
非常感谢罗伯特·金在这个问题上:
答案 1 :(得分:56)
这是Xcode8 + iOS10的一个错误,我们可以用这种方式解决它:
在模拟器上时,添加名称disable
和值
变量OS_ACTIVITY_MODE
并检查它(产品 - >方案 - >编辑方案 - >运行 - >参数 - >环境)。
答案 2 :(得分:9)
在iOS10中,控制台上会显示许多系统日志记录。可以通过在方案的运行参数中包含OS_ACTIVITY_MODE =禁用来禁用此功能
但是对于iOS10,NSLog消息将不再显示。 在较低的iOS版本中,仍会显示消息。因此,对于大多数测试用例,您可以使用较低的iOS版本。
否则你可以包含一个Swift函数来打印(打印函数)你的文本,这在iOS10中运行正常。
在iOS10.0.2和iOS9.3上测试
答案 3 :(得分:8)
我的问题是我选择了调试器输出。一旦我将其更改为所有输出或目标输出,NSLogs就会显示正常。
如果这使您在调试区域的左侧感到困惑。
答案 4 :(得分:1)
我刚刚经历过这个,所以这是另一件需要检查的事情。
- >确保您没有在日志输出下方的过滤器字段中输入任何内容。所以,在我的情况下,我在记录器中搜索一个术语,忘了从Filter文本字段中删除搜索的术语。 DOH!
答案 5 :(得分:0)
我的问题是我不小心从App Delegate(委托 - 文件所有者)切断了引用插座。
答案 6 :(得分:0)
我有同样的问题。 诀窍是从项目中搜索并删除下面提到的行。
#define NSLog(...)
搜索整个项目并将其删除。