美文网首页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