当使用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 12.5,这是在调试器中看到的最讨厌的事情,有这么一堆/泛滥的不想要的消息。
我所做的解决方案比大多数复杂的解决方案要简单得多,以下是我解决这个烦人问题的方法:
不需要使用任何环境变量等,否则使用这些建议的前一篇文章将禁用NSLOG输出,这不是你想要的在这种情况下。
我确保我所有的NSLOG将包含一个字符串,我将在以后监视,例如:
以前我经常做:
NSLog(@"Hello World");
现在,我想:
NSLog(@"[Admin]: Hello World");
而“[Admin]”是我的程序名(或除[Admin]以外的任何字符串)。
(可选步骤)或(更容易),我写了一个函数来通道(好吧;代理)NSLog到另一个全局函数“日志”,而所有我的日志将去该函数,然后日志函数将追加“[Admin]”字符串到原始日志字符串,还添加日志时间和其他项目,我需要等(类似于WebLogic或任何其他JAVA日志),这确保所有日志将遵循一个标准。
…这是价值百万美元的核武器:
现在,进入你的调试器窗口,在底部你会看到一个“搜索”窗口,而它说“过滤器”,输入你的字符串(例如;“[Admin]”),按ENTER键,任务完成。
这样,你只会看到你喜欢的线条,
当你想过滤掉其他组件时也很有用,例如,对于网络通信,我使用更多的字符串,我可以稍后过滤。
换句话说,烦人的日志行与你的应用程序无关,但你选择不看到他们使用上述命令,我希望解决这个问题。
希望大家都能度过美好的一天。
H
好的。关于这个似乎有很多混乱,所以我将给你们提供一种不使用方案技巧的方法来坚持它。我将具体解决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,其中包括:
{“缺省选项”= >{“水平”= >{“启用”= >“默认”}}}
祝你好运。