现在开发的项目,使用的target太多,每次一到发测、上传就很头疼。总得一个个target去修改新的版本号。直到发现,爸爸居然有一个agvtool的工具。
1、首先,需要确保工程中的Info.plist
存在两个Key
——CFBundleVersion
和CFBundleShortVersionString
。不过,貌似一般都是有的。
2、需要修改build setting
的一些配置。Current Project Version
和Versioning System
。需要将Versioning System
设置成Apple Generic
。这样才能确保正常使用agvtool
。
3、打开工程目录,即.xcodeproj的所在。这时候就可以来使用command line了。
agvtool使用的一些command line。其中marketing-version对应是工程中的version,而version则对应着工程中的build.
1)查看当前版本
// build
agvtool what-version
// version
agvtool what-marketing-version
// build
agvtool vers
// version
agvtool mvers
2)自动增加版本号
agvtool next-version -all
agvtool bump -all
二者都是给build递增。version的话,没有递增的命令。-all可加可不加,但是不附带-all的话,会出现设置成功,但是打开工程看build的话,确是没有任何变化,还是旧版本的build。此时再去agvtool bump -all或者agvtool next-version -all。所有build,都会变化,而且是在上一部设置成功的数值上+1。此步已跪。。。。找到原因后,再来更新。。
如果想了解更多,直接一句command line——agvtool help,可以查看相关的使用。
中途遇到的坑
在使用的过程,发现某个target的version和build都没有任何变化。错误提示一直显示——Cannot find "(SRCROOT),去掉后,agvtool new-marketing-version x.x.x,agvtool new-version x.x.x -all。完美解决。
网友评论