将版本信息显示在App图标上

在测试App版本升级功能或者需要多版本切换的时候,可能需要经常去确定当前App的版本号,如果中途打断很有可能会忘记了当前的版本号,并且App内部如果没有显示版本号的功能,就只能从头来了。
如果能让App的版本信息直接显示到图标上,测试的时候是不是就会更加直观,更加效率,更加苏胡。
就像酱紫:

这里写图片描述

怎么做呢?

在Xcode中Target的Build Phases中,可以添加一个Run Script的Build Phase来执行一些脚本做一些操作,这里的脚本会在每次build的时候执行,然后我们就可以通过脚本给App图标添加版本信息了。

Run Script是怎么玩的

添加一个 Run Script
这里写图片描述

编辑Shell
这里写图片描述

Command + B 构建工程,可以通过Command + 8 查看构建日志,测试脚本已经成功执行。

这里写图片描述

通过Shell获得应用版本信息

PlistBuddy是一个Mac里的命令行下读写plist文件的工具,App的基本信息都存储在plist 文件中,我们可以通过PlistBuddy来获取。

获取Version

~ echo `/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" /Users/dimsky/Documents/Project/Project-Info.plist`

  1.0.0

获取Build

~ echo `/usr/libexec/PlistBuddy -c "Print CFBundleVersion" /Users/dimsky/Documents/Project/Project-Info.plist`

  1
获取工程版本信息,如果使用的Git

获取Branch

 ~ git rev-parse --abbrev-ref HEAD

   master

获取Commit version

~ git rev-parse --short HEAD

  f360b92
将版本信息填充到App 图标上

将版本信息填充到图标上,这里需要安装2个工具:ImageMagick和ghostscript,ImageMagicK的convert命令可以将文字写到图片上。

~ brew install imagemagick  
~ brew install ghostscript  

通过convert 将填充版本信息居中显示在图标下方。

~ convert -background '#0005' -fill white -gravity center -size 180x60 caption:"1.1.1 (10)\nmaster\n56789998" ./iPhone@3x-1.png  +swap -gravity south -composite ./target.png

前后对比:

这里写图片描述

更完善的Shell

我们已经把版本信息填充到图标中,但是我们在Run script中执行的Shell需要动态的路径,而且还有不同设备的图标需要填充,最好将工具的安装都可以全自动化,不用着急,现在已经有人替我们完成了这个Shell脚本,我们只需要下载下来,在 Run script 中引入就可以了。

这里写图片描述

这样你在编译构建的时候在App 图标上就能自动显示版本信息了。

参考:
http://merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/

                                                        杏树林研发 肖天
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值