Debug CUICatalog: Invalid asset name supplied

有時候,在程序運行的時候,控制臺會打印這句話,但是并不會影響程序的運行
CUICatalog: Invalid asset name supplied
完美起見,還是解決掉比較好

導(dǎo)致打印這句話的原因可能是+[UIImage imageNamed:]調(diào)用的時候, name為nil. 解決的方法就是查找所有+[UIImage imageNamed:]調(diào)用的時候, 找到name是nil的地方。龐大的項目中去找哪里調(diào)用了這個類方法,即使全局搜也夠眼暈的??

用Symbolic Breakpoint解決
解決方案

1.在Xcode的Breakpoint Navigator點擊加號, 選擇Add Symbolic Breakpoint。
2.右鍵選擇Breakpoint選擇Edit Breakpoint, 在Symbol填入+[UIImage imageNamed:], 在Condition填入[(NSString *)$arg3 length] == 0或者$arg3 == nil. 可以自己嘗試po $arg1,po $arg2試試看。
3.運行程序, 直到程序進入斷點. 打開Debug Navigator觀察調(diào)用棧, 最頂部的一定是+[UIImage imageNamed:], 點擊調(diào)用棧下一條, 能夠看到有調(diào)用到imageNamed的代碼, 就是name為nil的地方。
4.如果找到的地方顯示的是地址,而不是代碼,這時候不妨查看下一個斷點,不錯應(yīng)該就是下個斷點哪里。

具體操作如下
屏幕快照 2018-01-11 下午3.52.21.png
屏幕快照 2018-01-11 下午3.53.35.png
屏幕快照 2018-01-11 下午3.55.03.png
image.png

將傳入的nil修改為@""或者給一個默認(rèn)占位圖名稱。

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

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

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