iOS的日常简友们的精华iOS

LaunchScreen.storyboard 动态设置版本号

2017-08-06  本文已影响204人  写代码的小学生Roy

设置启动图的两种方式:

需求:通过Launch Screen文件设置启动图,启动图上展示版本号

这个实现不难,在LaunchScreen.storyboard文件中新增一个UILabel,通过自动布局设置其位置,并设置文字如"版本号V1.0":

Snip20170806_16.png
但是每次升级版本号的时候都需要手动来改动LaunchScreen.storyboard上对应版本号的文字,有没有动态设置的办法?

我们知道,通过LaunchScreen.storyboard来设置启动图片有很多限制,如:

所以按照原先的思维在一个控制器类中关联设置版本的label来动态设置app的版本号,这样的想法行不通。
不过,最终找到了解决办法How do I display the CFBundleShortVersionString in my LaunchStoryboard?


实现步骤如下:

versionNumber=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")
sed -i bak -e "/userLabel=\"APP_VERSION\"/s/text=\"[^\"]*\"/text=\"版本号V$versionNumber\"/" $PROJECT_DIR/ZSJW/Base.lproj/LaunchScreen.storyboard

注:脚本语句中$PROJECT_DIR/ZSJW/Base.lproj/LaunchScreen.storyboard此处的ZSJW是工程的工程名

Snip20170806_20.png

至此就实现了通过Launch Screen文件动态更改版本号的功能,以后改动了Project—>Target—>General—>Identity—>Version对应的版本号,不需要再到LaunchScreen.storyboard文件中手动更改对应的版本号了。


LaunchScreen.storyboard的使用

上一篇下一篇

猜你喜欢

热点阅读