现在开发的项目,使用的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)查看当前版本
|
|
2)自动增加版本号
|
|
|
|
二者都是给build
递增。version
的话,没有递增的命令。-all
可加可不加,但是不附带-all
的话,会出现设置成功,但是打开工程看build
的话,确是没有任何变化,还是旧版本的build。此时再去agvtool bump -all
或者agvtool next-version -all
。所有build
,都会变化,而且是在上一部设置成功的数值上+1。此步已跪。。。。找到原因后,再来更新。。。
3)设置新版本号
|
|
4) help
如果想了解更多,直接一句command line
——agvtool help
,可以查看相关的使用。
中途遇到的坑
在使用的过程,发现某个target
的version
和build
都没有任何变化。错误提示一直显示——Cannot find "$(SRCROOT)/Info.plist
。后来在build setting
的Info.plist
目录设置,发现多了$(SRCROOT)
,去掉后,agvtool new-marketing-version x.x.x
,agvtool new-version x.x.x -all
。完美解决。
PS:后续有任何发现,再继续来更新吧。。