Xcode9:Main Thread Checker: UI API called on a background thread

1、問題描述:Xcode9 運(yùn)行會(huì)打印一些線程的日志,比如下面這些

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的機(jī)制,當(dāng)需要在主線程中執(zhí)行的而沒有放在主線程,會(huì)給出提示,典型的就是UI。

3、問題解決:
最直接的就是關(guān)掉這個(gè)功能,不勾選下圖紅色框的選項(xiàng)。煩倒是不會(huì)了,但是還是不建議這樣子做,萬一真的有哪些是需要在主線程完成的工作而沒有做導(dǎo)致crash就悲劇了

關(guān)閉檢查開關(guān)

所以呢,還是勾選上好,有問題一個(gè)一個(gè)解決掉,勾選上之后,有問題的代碼行就會(huì)被定位

打開斷點(diǎn)調(diào)試開關(guān)
dispatch_async(dispatch_get_main_queue(), ^(void) {  
      //todo
    });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容