今天對(duì)Xcode里iOS的版本號(hào)又有了新的認(rèn)識(shí)兴枯,一個(gè)叫做Version,一個(gè)叫做Build,這兩個(gè)值都可以在Xcode中選中target,點(diǎn)擊“Summary”后看到。 Version在plist文件中的key是“CFBundleShortVersionString”运怖,和AppStore上的版本號(hào)保持一致,Build在plist中的key是“CFBundleVersion”夏伊,代表build的版本號(hào)摇展,該值每次build之后都應(yīng)該增加1。這兩個(gè)值都可以在程序中通過(guò)下面的代碼獲得:
Archive后自動(dòng)增長(zhǎng)build號(hào) 除此之外溺忧,如果我們想在Archive后build號(hào)自動(dòng)增長(zhǎng)咏连,就可以使用到Xcode的run script來(lái)實(shí)現(xiàn),步驟是
- 選中項(xiàng)目的target鲁森,點(diǎn)擊“Build Phases“
- 點(diǎn)擊右下角的”Add Build Phrase“祟滴,選擇”Add run script“,會(huì)產(chǎn)生一個(gè)新的Run Script項(xiàng)
- 拖拽新生成的Run Script項(xiàng)到最上面
- 點(diǎn)開(kāi)該項(xiàng)歌溉,copy下面的shell代碼進(jìn)去垄懂,如下圖所示
if [ $CONFIGURATION == Release ]; then
echo "Bumping build number..."
plist=${PROJECT_DIR}/${INFOPLIST_FILE}
#increment the build number (ie 115 to 116)
buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
if [[ "${buildnum}" == "" ]]; then
echo "No build number in $plist"
exit 2
fi
buildnum=$(expr $buildnum + 1)
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"
echo "Bumped build number to $buildnum"
else
echo $CONFIGURATION " build - Not bumping build number."
fi
這段shell腳本的意思就是說(shuō),如果當(dāng)前的配置是Release(Archive時(shí)該值為Release痛垛,直接在模擬器上運(yùn)行是Debug)草慧,就設(shè)置build值為當(dāng)前build值+1, 否則什么都不干榜晦。
這樣在build的時(shí)候就會(huì)看到build號(hào)會(huì)自動(dòng)加1的冠蒋,想看build時(shí)輸出的信息,可以通過(guò)”View -> Navigators -> Log”來(lái)查看最新的build時(shí)產(chǎn)生的log乾胶。