美文网首页iOS DeveloperiOS开发经验集
iOS APP瘦身 清除无用图片资源和import的代码

iOS APP瘦身 清除无用图片资源和import的代码

作者: Fiona_L | 来源:发表于2017-05-03 17:44 被阅读1270次

    app开发到一定阶段,必然会面临着包越来越大,需要瘦身。那么首先要考虑的就是清除无用的图片资源,因为图片资源占的空间相对较大。

    ·清除无用图片资源

    这里只说shell脚本查找的方式,因为觉得相对来说是最方便简洁的,同时可以把这个脚本放在工程中,定期清理。
    新建一个shell脚本,代码如下:

    #! /bin/bash
    
    echo "" > UnusedPic.txt
    for i in `find . -name "*.png" -o -name "*.jpg"`; do
        file=`basename -s .jpg "$i" | xargs basename -s .png | xargs basename -s @2x | xargs basename -s @3x`
        result=`ack -i "$file"`
        if [ -z "$result" ]; then
            echo "$i" >> UnusedPicture.txt 
        fi
    done
    

    把这个shell文件命名为UnusedPicture.sh放到工程目录下,如果使用了cocopods就放到同名文件目录下。
    打开终端,输入命令 shell UnusedPicture.sh,就会开始查找了,结束后会在同目录下生成一个UnusedPicture.txt,里面是所有查到没有使用的图片。
    这里要提一下,因为是按照图片名来查找的,但是代码中我们实际上是按照imageset名称来使用的,所以添加的图片的时候应该尽量保证两个名字一致。
    所有检查出来的图片尽量都在工程中全局搜索一下,因为会有误搜的,也会有类似于loading_%d这样使用的。

    ·清除没用到的import代码

    这个在一次次迭代和重构后数量也并不少。有一个现成的工具,就是fui,非常好用,错误率比较低。以前可以直接添加插件使用,但是现在大家都知道,xcode不能使用第三方的插件了,也有办法破解,但是确实很麻烦,效果也不好。所以我们还是直接用终端来用fui。
    fui 的guthub写了用法,也很简单:gem install fui。但是就这一句都经常会出现问题,比如

    ERROR:  While executing gem ... (Errno::EPERM)
        Operation not permitted - /usr/bin/gli
    

    这是因为OSX el Capitan为了避免修改系统根目录而增加的限制,可以这样做

    sudo gem install -n /usr/local/bin fui
    

    运行完成后会直接在终端展示出很多没用的代码,有的是import了但是没有使用的,也有目录下有但是工程中没有添加到也没有用到的,最好还是全局搜索一下再删除。

    相关文章

      网友评论

        本文标题:iOS APP瘦身 清除无用图片资源和import的代码

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