当我在模拟器中旋转设备时,我在控制台中收到以下消息:[App] if we're in the real pre-commit handler we can't actually add any new fences due to CA restriction

有很多有关如何禁止警告的信息,例如question。但是,这似乎只是在没有实际解决任何问题的情况下跨步解决问题。

该警告的确切含义是什么,我该如何解决?

最佳答案

“警告的确切含义是什么?”

不幸的是,我对CoreAnimation的内部了解不足,无法完全解释该消息的含义。 second answer尝试通过检查反汇编代码来解释它。

“如何解决?”

您可能无法使用来解决此可能的,因为这与您的应用程序无关,尽管使用“[App]”可能会提示该消息。 (从second answerreferenced question也是如此。)

我相信此消息开始出现在iOS 10中,并且(通常)在设备旋转期间发生。我无法解决该问题的证据是,如果您创建一个空白的“Single View App”项目,请启动该项目(模拟器或设备)并旋转屏幕,将显示该消息。

从iOS的 iOS 12 beta 4开始,旋转屏幕时将不再发出此消息。这并不是说它不会在其他时间发生,因为UIKit发出它的原因可能在其他情况下有其优点。如果可能,请在Xcode 10 beta 4中试用您的应用程序,以查看它是否仍显示消息。

同样值得一提的是,用OS_ACTIVITY_MODE抑制消息是一个坏主意,因为该方法会抑制太多有值(value)的调试信息,例如堆栈跟踪。

关于ios - 我该如何在实际的预提交处理程序中修复 “[App] if we' re,由于CA的限制,我们实际上无法添加任何新的隔离区”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51440970/

10-13 03:56