iOS 10:“如果我们处于真正的提交前处理程序中,由于CA限制,我们实际上无法添加任何新的防护”
我有时会在运行我的应用程序时在Xcode 8b3的日志中看到这条消息,一切似乎都正常,但是我想知道这是从哪里来的。 Google根本没有帮助。
在你的Xcode中:
- 点击停止button旁边的活动scheme名称
- 点击Edit Scheme ….
- 在运行(debugging)中select参数选项卡
- 在环境variables中单击+
- 添加variables:OS_ACTIVITY_MODE =禁用
它来自+[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]
通过os_log API。 它不依赖于您正在使用的其他组件/框架(仅从UIKit) – 它在干净的单一视图应用程序项目中重现了改变界面方向。
这个方法由两部分组成:
- 将通过预提交处理程序添加到处理程序列表;
- 做一些工作,这取决于当前的有限状态机状态。
当第二部分失败(看起来像被禁止的转换)时,它将上面的消息打印到错误日志中。 但是,我认为这个问题不是致命的:在这个方法中有两个额外的断言情况,这将导致debugging崩溃。
看来雷达是我们能做的最好的。
尝试将下列内容放在run(debug)
的scheme的environment variables
run(debug)
OS_ACTIVITY_MODE = disable
“IOS_ACTIVITY_MODE =禁用”答案closures所有日志logging! 只要closureslogging视图,如果你不想看到日志。 真是荒谬的回答,惊人的是它有这么多票! 没有任何处理实际的消息。
我们大量使用核心数据的应用程序正常工作,这些消息和其他消息在最后一次Xcode更新之后开始出现。 伤心的是,苹果无法解决这类问题。
我们可以用这种方法将其静音(设备和模拟器需要不同的值):
添加名称OS_ACTIVITY_MODE
和值${DEBUG_ACTIVITY_MODE}
并检查它(在产品 – >计划 – >编辑计划 – >运行 – >参数 – >环境)。
添加用户定义的设置DEBUG_ACTIVITY_MODE
,然后添加Any iOS Simulator SDK
Debug
,并将其值设置为disable
(在项目 – >生成设置 – > + – >用户定义的设置)
要解决,我从模拟器中删除了应用程序。
我也先跑了干净 。
我不认为任何与方向有关的事情触发它。 在这个症状开始之前,最大的改变是Swift框架开始在工作线程上调用NSLog
而不是主线程。
OS_ACTIVITY_MODE = disable
这也将禁用在真实设备中进行debugging的能力(从此以后没有从真实设备输出控制台)。