原文链接:Overlaying application version on top of your icon
最近看到了大神Krzysztof Zabłocki这篇文章,就自己动手实践并且根据实际情况修改了一下。
1.首先还是安装两个工具(一开始通过brew无法安装libpng,又去找安装包,一顿折腾,后面下班竟然又可以通过brew安装,真是😓。最好是通过brew安装,避免了一系列后面的问题)
brew install imagemagick
brew install ghostscript
2.添加对应脚本到xcode中
a.新建一个脚本运行选项
![](https://img.haomeiwen.com/i1096811/abb891f58d4aff14.png)
b.添加脚本
![](https://img.haomeiwen.com/i1096811/69f730230c46e88d.png)
3.先把icon文件拷贝到工程文件中并且在后缀添加_base字符,这样做是为了区别工程中真正用的icon文件名称
a.工程中在Assets.xcassets真正用到的icon文件名称是(我只用了60的2x和3x两个图标)
![](https://img.haomeiwen.com/i1096811/f812ce17ebde67d4.png)
![](https://img.haomeiwen.com/i1096811/b7f71c05bae354d0.png)
b.拷贝这个两个文件,添加到工程中的一个目录中,并且重命名为
![](https://img.haomeiwen.com/i1096811/9f52ffe83d8b7981.png)
4.更新脚本文件
a.用刚刚加_base的icon文件名称修改原来脚本文件中的名称(确保这两个可以对应的上)
![](https://img.haomeiwen.com/i1096811/6b72c0444c57f3ff.png)
b.根据自己的工程,更新对应的icon所在Assets.xcassets文件路径,也就是target_path(这个路径就是生成新icon的路径)
target_path="${SRCROOT}/*****/Assets.xcassets/AppIcon.appiconset/${target_file}"
可以通过拖拽的方式获得
![](https://img.haomeiwen.com/i1096811/10dac3d960e5a2ef.png)
复制得到的路径替换上面加粗的部分
![](https://img.haomeiwen.com/i1096811/f1c39ad7e89afb3b.png)
c.修改在icon想要显示的内容
![](https://img.haomeiwen.com/i1096811/a6f024ff170e7e93.png)
5.clean 然后 built ,顺利的话就可以在Assets.xcassets看到对应的icon图片改了。
![](https://img.haomeiwen.com/i1096811/5d3fa0d68cb9fca5.png)
模拟器中运行效果如下:
![](https://img.haomeiwen.com/i1096811/cc1bc48f240db08b.png)
注意:只有编译选项是debug时才会添加信息,release不会添加,脚本中已经判断
![](https://img.haomeiwen.com/i1096811/2e7d09f4e02a5b2c.png)
![](https://img.haomeiwen.com/i1096811/24fa5821ab655f0b.png)
脚本下载地址:
网友评论