iOS 項(xiàng)目中的version和build 詳解
iOS 項(xiàng)目中的version和build
Version在plist文件中的key是“CFBundleShortVersionString”,標(biāo)識(shí)應(yīng)用程序的發(fā)布版本號(hào),和AppStore上的版本號(hào)保持一致。該版本的版本號(hào)是三個(gè)分隔的整數(shù)組成的字符串。第一個(gè)整數(shù)代表重大修改的版本,如實(shí)現(xiàn)新的功能或重大變化的修訂。第二個(gè)整數(shù)表示的修訂,實(shí)現(xiàn)較突出的特點(diǎn)。第三個(gè)整數(shù)代表維護(hù)版本
Build在plist文件中的key是“CFBundleVersion”,標(biāo)示(發(fā)布或者未發(fā)布)的內(nèi)部版本號(hào)。這是一個(gè)單調(diào)增加的字符串,包括一個(gè)或者多個(gè)分割的整數(shù)。
以上兩個(gè)版本號(hào)可以通過(guò)以下方式獲得:
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; // app版本 NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; // app build版本 NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];
編寫腳本使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)開該項(xiàng),copy下面的shell代碼進(jìn)去,代碼來(lái)自這里,如下圖所示
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。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
詳解iOS11關(guān)于導(dǎo)航欄問(wèn)題
本篇文章主要介紹了詳解iOS11關(guān)于導(dǎo)航欄問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
詳解iOS應(yīng)用的設(shè)計(jì)模式開發(fā)中Mediator中介者模式的使用
這篇文章主要介紹了iOS應(yīng)用的設(shè)計(jì)模式開發(fā)中Mediator中介者模式的使用,示例代碼為傳統(tǒng)的Objective-C語(yǔ)言,需要的朋友可以參考下2016-03-03
使用UITextField限制只可輸入中,英文,數(shù)字的方法
在我們?nèi)粘i_發(fā)中經(jīng)常遇到一些情況,要UITextField只能輸入某一種特定的字符.比如大寫A-Z或者小寫a-z,或者漢字.或者數(shù)字.那么該如何實(shí)現(xiàn)呢,下面通過(guò)這篇文章來(lái)看看吧。2016-09-09
Xcode中iOS應(yīng)用開發(fā)的一般項(xiàng)目目錄結(jié)構(gòu)和流程簡(jiǎn)介
這篇文章主要介紹了Xcode中iOS應(yīng)用開發(fā)的一般項(xiàng)目目錄結(jié)構(gòu)和流程簡(jiǎn)介,包括項(xiàng)目所需的一些平臺(tái)路徑如模擬器路徑等的介紹,需要的朋友可以參考下2016-02-02
iOS應(yīng)用開發(fā)中圖片的拉伸問(wèn)題解決方案
這篇文章主要介紹了iOS應(yīng)用開發(fā)中圖片的拉伸問(wèn)題解決方案,有時(shí)圖片的拉伸只需要拉伸中間部分而不拉伸兩端,這是本文所關(guān)注的問(wèn)題,需要的朋友可以參考下2016-02-02

