在iOS 11 + Xcode 9中使用refreshPreferences HangTracerEnabled / HangTracerDuration消息

当更新到iOS 11后,在iPhone中运行应用程序后,我在Xcode控制台中收到此消息:

SibDiet[924:111682] refreshPreferences: HangTracerEnabled: 0 SibDiet[924:111682] refreshPreferences: HangTracerDuration: 500 SibDiet[924:111682] refreshPreferences: ActivationLoggingEnabled: 0 ActivationLoggingTaskedOffByDA:0 

现在,我在每个模拟器和应用程序中都收到了这条消息。

我怎么解决这个问题?

您可以在目标上单击鼠标左键隐藏此消息,然后单击Edit Scheme

隐藏

之后,在Environment Variables部分创build名称为OS_ACTIVITY_MODE和值为disablevariables,如下图所示。

在这里输入图像说明

在这一点上,没有任何数据可以表明你需要应对内部debugging器状态的这种浪费。 顺便说一句,这些消息也出现在物理设备上开发,而不仅仅是模拟器。

先前的禁用Xcode环境variablesOS_ACTIVITY_MODE的答案将停止所有这样的内部系统消息与不幸的副作用closures控制台从ObjC中的NSLog()调用日志logging。 我没有检查,但它也可能禁用Swift print()日志logging。

Xcode团队应该真正区分禁用系统日志logging和用户日志logging!

看来(刷新首选项…)问题出现在多个平台上。

我设法修复它在高塞拉利昂(10.13.1) XCode 9.1iOS 11.0.3通过定义OS_ACTIVITY_MODE禁用进入XCode通过

产品>scheme>编辑scheme>参数>环境variables

添加OS_ACTIVITY_MODE禁用

模式编辑器(片段)

注意:这样做后NSLog可能无法工作。

在这个问题中报道了类似的问题:

如何修复Xcode 9中的refreshPreferences消息[复制]