Xcode 9,我的 NSLog() 去哪儿了?未在 Xcode 控制台或 Console.app 中显示

Posted

技术标签:

【中文标题】Xcode 9,我的 NSLog() 去哪儿了?未在 Xcode 控制台或 Console.app 中显示【英文标题】:Xcode 9, where are my NSLog()s going? Not showing in Xcode console or Console.app 【发布时间】:2017-10-29 19:03:49 【问题描述】:

我正在尝试在开发应用程序时进行一些基本的日志记录。我在我的代码中添加了一些NSLog()s,但是下面的 Xcode 控制台没有打印任何内容。从字面上看,什么都没有,甚至没有应用程序启动时的一些启动信息等。

我已将 Xcode 控制台设置为显示 All Output,并且已打开变量检查器和控制台:

我听说了记录更改,并且引入了一个新的 Console.app,它也可以让我在模拟器上查看日志,所以我想也许日志会显示在那里,但是虽然我做了很多系统正在发生的消息我没有看到我正在制作的 NSLog()。

我错过了什么吗?我需要翻转一个新设置吗?我在哪里可以看到我的 NSLog()s?

编辑:

我使用 ios 11 模拟器执行此操作,但没有控制台输出。当我切换到 iOS 9 模拟器时,我得到了所有控制台输出。

【问题讨论】:

您确定您的调试器连接正确吗?你的断点仍然有效吗? @Sulthan 是的,我的断点运行正常。我只是仔细检查了一下。 我使用 iOS 11 模拟器执行此操作,但没有控制台输出。当我切换到 iOS 9 模拟器时,我得到了所有控制台输出。 这很奇怪。我可以告诉你没有大的变化,我的日志仍然正常工作。确保您的 Xcode 使用正确的 xcode 工具(即 Xcode 9 工具)。 @KennyWyland 检查***.com/questions/37886600/ios-10-doesnt-print-nslogs 【参考方案1】:

想通了。这不是间歇性问题,也不是可以通过重新启动来解决的问题。这是一个运行配置问题。

单击 Xcode 工具栏左上角的 Run Scheme 选择器。

点击管理方案。

点击您的主应用项目。

点击左下角的编辑按钮。

取消选中OS_ACTIVITY_MODE

点击关闭。

维奥拉。您的所有控制台日志都会返回。

【讨论】:

肯尼,CA_DEBUG_TRANSACTIO 的全名是什么...当我尝试输入时它不会自动显示 @greg 它是 CA_DEBUG_TRANSACTIONS。希望你在去年找到它。 :)

以上是关于Xcode 9,我的 NSLog() 去哪儿了?未在 Xcode 控制台或 Console.app 中显示的主要内容,如果未能解决你的问题,请参考以下文章

.bss vs COMMON:啥去哪儿了?

庄辰超:回顾去哪儿的这些年,最让我骄傲的是收获了这9点管理心得

Xcode 9.2 故事板未正确显示

日志未在设备中打印

Apple Configurator 中未显示 iOS 10 的 NSLog 语句

没有 XCode 的应用程序的 NSLog 输出?