标签:
最近在读唐巧大神的《iOS开发进阶》,学到了一个大招:使用脚本删除ios中未使用的图片(纸书上有点小问题,参考github上的issue:使用脚本删除ios中未使用图片)。
issue中得到的建议是:将代码保存在一个.sh文件中,在xcode里面执行shell脚本文件。看到这里,头瞬间大了,大学学的shell都还给linux老师了....还有xcode中怎么执行脚本啊???
google一下,找到mac下创建.sh文件的小白方法:教你在mac上面创建可执行脚本文件。当然还有 XCode中执行脚本的三种方法。下面针对本次操作,自己写个总结:
1、创建可执行脚本文件:
(1)打开sublime,输入以下shell代码:
#! /bin/bash for i in `find . -name "*.png" -o -name "*.jpg"`; do file=`basename -s .jpg "$i" | xargs basename -s .png | xargs basename -s @2x` result=`ack -i "$file"` if [ -z "$result" ]; then echo "$i" # 如果需要,可以直接执行删除: # rm "$i" fi done
(2)保存文件名:deletePhoto.sh,记住保存的路径:/Users/linafu/deletePhoto
(3)为脚本文件添加执行权限:在终端输入如下脚本:chmod +x ./deletePhoto
至此,shell脚本就建好了!
2、在xcode中执行已经创建好了的脚本:
(1)在xcode菜单栏中:file->new->target,然后osx->other->external build system,命名为:scriptTarget,这样就建立了一个虚拟的target。
(2)在工程的target区,选中scriptTarget,在build tool里面输入:/Users/linafu/deletePhoto
(3)在工程target的build phasese->target dependencies中添加scriptTarget
好了,以后不论什么时候,build工程之前都会先build这个虚拟target,通过build这个target来运行脚本。当然,我们并不会每次编译都需要删除图片,所以,使用完可以将它从build phasese->target dependencies中移除。
忘了说,在所有的步骤之前,要先在终端通过:brew install ack 命令安装ack(ack用于做搜索)。
哈哈,添加截图太不方便,就不上图了,不够明白可以看文中的链接。另外,这里附上另一个删除ios中未使用图片的方法,用的是python脚本:传送门
标签:
原文地址:http://blog.csdn.net/awaylin113/article/details/44007241