iOS 收藏夹

XcodeImageCleanTool - 清理iOS项目图片资

2017-09-07  本文已影响202人  yuying

目录

概述

XcodeImageCleanTool是一款清理Xcode项目中未使用,重复和相似的图片资源的脚本工具,通过网页图形界面进行操作。

安装环境

推荐用Homebrew安装Python2和Python3,而不是直接使用系统自带的Python来运行。如何安装可以看这篇文章MAC OSX 正確地同時安裝 PYTHON 2.7 和 PYTHON3。终端输入python / pip是系统自带的,python2 / pip2是下载的Python2,python3 / pip3 是下载的Python3。

用setup.py安装依赖插件的时候可能会因为网络原因导致部分插件一直下载不下来,比如Pillow,这个时候可以先用pip安装相关依赖,或去官网下载相应的whl文件安装在本地,再运行setup.py。如果其他库也有这个问题都可以用这个办法解决。

安装说明

下载zip文件,解压进入dist文件夹,解压压缩文件,终端cd进入解压后的文件夹路径,输入命令python2 setup.py installpython setup.py install,成功后输入python2 -m xcode_imagecleantoolpython -m xcode_imagecleantool即可运行。

脚本路径 启动成功

浏览器输入网址 http://127.0.0.1:5000/ 即可进入页面(CTRL+C退出)。如果显示socket.error: [Errno 48] Address already in use则是5000端口被占用,需要先中止5000端口的进程,再运行脚本即可。

使用说明

网页界面

项目的绝对路径(必填项):需要搜索的工程所在的路径,如下图。路径不能包含空格,下同。

项目路径

图片资源路径(选填):如果只需要搜索某个具体路径下的图片资源在整个工程中的应用,而不是全工程的图片,可以填写需要搜索的图片资源路径。

忽略路径(选填):不想把工程中引入的第三方库等的图片资源也纳入搜索范围的话,可以填写忽略路径。可添加多个,用英文逗号隔开。

搜索完成后会显示相应的图片及路径。路径可能会有多个,因为在查找相似图片时会把@2x,@3x等默认为一张。点击路径可以直接用预览打开查看。如果图片没有显示,可能因为是白色,与背景色重叠,无法分辨。
可以删除选中图片,导出搜索结果results.txt到dist/XcodeImageCleanTool-1.0/xcode_imagecleantool路径下。

搜索结果

注意事项

空白Assets资源

已知问题

待优化

实现原理

  1. 首先查找路径下的所有后缀为 '.png', 'jpg', 'jpeg', 'gif' 的图片资源,忽略AppIcon和LaunchImage等文件夹下的图片。
  2. 计算图片的dHash值。(dHash的相关文章可以参考相似图片检测:感知哈希算法之dHash的Python实现
  3. 具有相同dHash值,并且名称相同的图片为重复图片。
  4. 先把@2x,@3x的图片合成为一张图片(同名且路径相同),之后如果存在dHash值相同的图片,则为相似图片。
  5. 遍历工程下所有后缀为'.h', '.m', '.swift', '.mm', '.cpp', '.xib', '.storyboard', '.plist', '.html', '.css'的文件,搜索是否有"图片名称""图片名称.后缀"的代码,如果有则图片已使用。

其他

GitHub地址:https://github.com/peace-v/XcodeImageCleanTool
如果有小伙伴安装使用中遇到了问题,能解决优化现有的问题或代码,或者有好的建议等,都可以在文章下面留言。

上一篇 下一篇

猜你喜欢

热点阅读