美文网首页
Debug CUICatalog: Invalid asset

Debug CUICatalog: Invalid asset

作者: GemShi | 来源:发表于2018-02-12 15:26 被阅读11次

    有时候,在程序运行的时候,控制台会打印这句话,但是并不会影响程序的运行
    CUICatalog: Invalid asset name supplied
    完美起见,还是解决掉比较好

    导致打印这句话的原因可能是+[UIImage imageNamed:]调用的时候, name为nil. 解决的方法就是查找所有+[UIImage imageNamed:]调用的时候, 找到name是nil的地方。庞大的项目中去找哪里调用了这个类方法,即使全局搜也够眼晕的😵

    用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观察调用栈, 最顶部的一定是+[UIImage imageNamed:], 点击调用栈下一条, 能够看到有调用到imageNamed的代码, 就是name为nil的地方。
    4.如果找到的地方显示的是地址,而不是代码,这时候不妨查看下一个断点,不错应该就是下个断点哪里。

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

    将传入的nil修改为@""或者给一个默认占位图名称。

    相关文章

      网友评论

          本文标题:Debug CUICatalog: Invalid asset

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