当使用Xcode 8+并创建一个新的空白项目时,运行应用程序时会出现以下日志:

2016-06-13 16:33:34.406093 TestiOS10[8209:100611] bundleid: com.appc.TestiOS10, enable_level: 0, persist_level: 0, propagate_with_activity: 0
2016-06-13 16:33:34.406323 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.409564 TestiOS10[8209:100611] subsystem: com.apple.UIKit, category: HIDEvents, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.504117 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.548023 TestiOS10[8209:100607] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.568458 TestiOS10[8209:100608] subsystem: com.apple.FrontBoard, category: Common, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0

也许有人已经找到了这个的配置?


当前回答

对我来说,这在Xcode 8.0 beta 2 (8S162m)中仍然没有修复,额外的日志也出现在Xcode控制台中

** EDIT 8/1/16:这已经在Xcode 8 Beta 4 (8S188o)的发布说明中被确认为仍然存在的问题。

Xcode 8 beta 4 - IDE中的已知问题 调试 •Xcode调试控制台显示来自系统框架的额外日志 在模拟器中调试应用程序。(27331147, 26652255)

据推测,这个问题将在通用发布时得到解决。在那之前,耐心,虽然不理想,但我正在使用的一个变通办法是下面…

类似于之前的答案,我不得不:

在打印日志前加上某种特殊字符(例如*或^或!等等) 然后使用控制台窗格右下角的搜索框,通过输入我选择的特殊字符来过滤我的控制台日志,以使控制台按预期显示我的打印日志

其他回答

好的。关于这个似乎有很多混乱,所以我将给你们提供一种不使用方案技巧的方法来坚持它。我将具体解决iOS模拟器,但这也可能需要应用于电视Sim以及位于不同的目录。

导致这些问题的是Xcode目录下的plist。当Sim启动时,启动一个名为configd_sim的进程,它读取plist并打印调试信息,如果plist指定它们应该被记录。

plist位于这里:

/应用程序/ xcode /内容/开发/平台/ iPhoneSimulator.platform /开发/ sdk / iPhoneSimulator.sdk /系统/图书馆/偏好/日志/子系统

如果您正在使用beta,请注意dir将有所不同。

您将在这个目录中看到许多plist。现在,构建并运行应用程序并观察日志。您正在查找紧接在子系统:部分后面的内容。紧随其后的名称表示相应的有问题的plist。

从那里,修改plist敲除调试[Level]键/值,这是一个字典,包含"Enable" => "Default"键/值…或者简单地删除plist。注意,你需要root用户才能做这些,因为它们位于Xcode应用中。

plutil -p命令也可能对您有用。即。

plutil -p /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/System/Library/Preferences/Logging/Subsystems/com.apple.BackBoardServices.fence.plist

这给了我一个有问题的plist,其中包括:

{“缺省选项”= >{“水平”= >{“启用”= >“默认”}}}

祝你好运。

我的解决方案是在断点中使用调试器命令和/或日志消息。

并将控制台的输出从所有输出更改为调试器输出

这个解决方案对我来说很有效:

在模拟器中运行应用程序 打开系统日志(⌘+ /)

这将转储出所有的调试数据和nslog。

过滤你的NSLog语句:

在每一个前加上一个符号,例如:NSLog(@"^测试日志") 使用右上方的搜索框过滤结果,在上面的例子中是“^”

这是你应该得到的:

请注意,对于iOS 14模拟器,OS_ACTIVITY_MODE=disable将不会显示任何使用新的Swift Logger的日志。您必须删除或启用它。

在xcode 8.1(测试版本8.1 beta版(8T46g))中,这不再是一个问题。您可以从方案中删除OS_ACTIVITY_MODE环境变量。

https://developer.apple.com/go/?id=xcode-8.1-beta-rn

调试 Xcode调试控制台不再显示来自系统的额外日志 在模拟器中调试应用程序时使用框架。(26652255, 27331147)