美文网首页iOS开发常用bugs
Xcode9:Main Thread Checker: UI A

Xcode9:Main Thread Checker: UI A

作者: phzean | 来源:发表于2017-10-23 10:42 被阅读2791次

1、问题描述:Xcode9 运行会打印一些线程的日志,比如下面这些

Main Thread Checker: UI API called on a background thread: -[UIView setHidden:]
PID: 31062, TID: 6628490, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:

2、问题原因:Xcode9新增加了Main thread checker的机制,当需要在主线程中执行的而没有放在主线程,会给出提示,典型的就是UI。

3、问题解决:
最直接的就是关掉这个功能,不勾选下图红色框的选项。烦倒是不会了,但是还是不建议这样子做,万一真的有哪些是需要在主线程完成的工作而没有做导致crash就悲剧了

关闭检查开关

所以呢,还是勾选上好,有问题一个一个解决掉,勾选上之后,有问题的代码行就会被定位

打开断点调试开关
dispatch_async(dispatch_get_main_queue(), ^(void) {  
      //todo
    });

相关文章

网友评论

    本文标题:Xcode9:Main Thread Checker: UI A

    本文链接:https://www.haomeiwen.com/subject/uwvouxtx.html