有時候颜启,在程序運(yùn)行的時候偷俭,控制臺會打印這句話缰盏,但是并不會影響程序的運(yùn)行
CUICatalog: Invalid asset name supplied
完美起見,還是解決掉比較好
導(dǎo)致打印這句話的原因可能是+[UIImage imageNamed:]調(diào)用的時候, name為nil. 解決的方法就是查找所有+[UIImage imageNamed:]調(diào)用的時候, 找到name是nil的地方负溪。龐大的項(xiàng)目中去找哪里調(diào)用了這個類方法济炎,即使全局搜也夠眼暈的??
用Symbolic Breakpoint解決
解決方案
1.在Xcode的Breakpoint Navigator點(diǎn)擊加號, 選擇Add Symbolic Breakpoint。
2.右鍵選擇Breakpoint選擇Edit Breakpoint, 在Symbol填入+[UIImage imageNamed:], 在Condition填入[(NSString *)$arg3 length] == 0或者$arg3 == nil. 可以自己嘗試po $arg1,po $arg2試試看须尚。
3.運(yùn)行程序, 直到程序進(jìn)入斷點(diǎn). 打開Debug Navigator觀察調(diào)用棧, 最頂部的一定是+[UIImage imageNamed:], 點(diǎn)擊調(diào)用棧下一條, 能夠看到有調(diào)用到imageNamed的代碼, 就是name為nil的地方。
4.如果找到的地方顯示的是地址密幔,而不是代碼撩轰,這時候不妨查看下一個斷點(diǎn)昧廷,不錯應(yīng)該就是下個斷點(diǎn)哪里偎箫。
具體操作如下
將傳入的nil
修改為@""
或者給一個默認(rèn)占位圖名稱镜廉。