使用agvtool更改app version/build

如今開發的項目,使用的target太多,每次一到發測、上傳就很頭疼。總得一個個target去修改新的版本號。直到發現,爸爸竟然有一個agvtool的工具。html

圖片描述

先上個官方連接git

一、首先,須要確保工程中的Info.plist存在兩個Key——CFBundleVersionCFBundleShortVersionString。不過,貌似通常都是有的。github

二、須要修改build setting的一些配置。Current Project VersionVersioning System。須要將Versioning System設置成Apple Generic。這樣才能確保正常使用agvtoolxcode

圖片描述

三、打開工程目錄,即.xcodeproj的所在。這時候就能夠來使用command line了。app


agvtool使用的一些command line。其中marketing-version對應是工程中的version,而version則對應着工程中的build.工具

1)查看當前版本ui

// build
agvtool what-version
// version
agvtool what-marketing-version
// build
agvtool vers
// version
agvtool mvers

2)自動增長版本號spa

agvtool next-version -all
agvtool bump -all

兩者都是給build遞增。version的話,沒有遞增的命令。-all可加可不加,可是不附帶-all的話,會出現設置成功,可是打開工程看build的話,確是沒有任何變化,仍是舊版本的build。此時再去agvtool bump -all或者agvtool next-version -all。全部build,都會變化,並且是在上一部設置成功的數值上+1。此步已跪。。。。找到緣由後,再來更新。。。3d

3)設置新版本號code

// build
agvtool new-version -all 1.0.0
// version
agvtool new-marketing-version 1.0.0

4) help

agvtool help

若是想了解更多,直接一句command line——agvtool help,能夠查看相關的使用。


中途遇到的坑

在使用的過程,發現某個targetversionbuild都沒有任何變化。錯誤提示一直顯示——Cannot find "$(SRCROOT)/Info.plist。後來在build settingInfo.plist目錄設置,發現多了$(SRCROOT),去掉後,agvtool new-marketing-version x.x.xagvtool new-version x.x.x -all。完美解決。

PS:後續有任何發現,再繼續來更新吧。。

圖片描述

順便推廣下本身的bloghttps://addicechan.github.io/

相關文章
相關標籤/搜索