业务越来越多,云学习app包体积不断增长,今年6月份,云学习app中台开始瘦身。其中一个是需要个业务线将项目中使用的图片(png)整理出来交由设计老师转成webp格式。手机端上使用3x图片转换、iPad端使用2x图片转换。
我们学科介入这个事情之前和另外一个已经做完这个事的学科打听了一下,他们是一张一张图片捋,手动导出来的,说眼睛都要瞎了...他们那条线已经迭代快两年了,可想得有多少图片。想着应该会有人比较懒,就跟各业务线以及中台打听是否已经有脚本或者工具可以做这件事,哎...并没有。个人比较懒吧,决定写一个脚本来干这个事。
我们只有iPad项目,一部分图片是放在资源bundle中,另外一部分是放在xcassets中。先来看bundle中的图片,图片的命名全部都是已@2x结尾,所以读取bundle中图片资源我直接判断文件是否已@2x.png结尾。另外一部分在xcassets中的则不一样,很多2x图设计给到手之后研发老师就直接拖入项目了,并没有已@2x去重命名,但是拖入xcassets中的图片xcode会生成维护一个.imageset结尾的json文件,去映射1x、2x、3x图片的文件名,所以我在脚本中先去读取.imageset文件中的2x文件名然后再拼接上地址。资源源地址拿到手就是转移图片了,这块就不冗述了。脚本写好后其他业务线小伙伴也需要,就加上了3x的输入项。潦草写的这个脚本应付图片命名规范、且没有缺失图片的项目还算合适,至少我们自己的需求满足,没有漏掉哪张图片。但是对于本身项目图片不全的业务方(比如2x图有但是缺少对应3x图的),就没有做缺失警告的输出,以及路径中有中文的话,脚本运行也会有问题。
代码地址https://github.com/KrisMarko/extract_project_image
,欢迎小伙伴们多多指教。
网友评论