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)可以通過以下方式獲得:
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; // app版本 NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; // app build版本 NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];
編寫腳本使Archive后自動(dòng)增長build版本號(hào)
如果我們想在Archive后build號(hào)自動(dòng)增長,就可以使用到Xcode的run script來實(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)去,代碼來自這里,如下圖所示
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腳本的意思就是說,如果當(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í)輸出的信息,可以通過”View -> Navigators -> Log”來查看最新的build時(shí)產(chǎn)生的log。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
iOS中震動(dòng)反饋(UIFeedbackGenerator)與系統(tǒng)震動(dòng)詳解
最近要做一個(gè)項(xiàng)目,需要持續(xù)響鈴并振動(dòng),所以就有了這篇文章,下面這篇文章主要給大家介紹了關(guān)于iOS中震動(dòng)反饋(UIFeedbackGenerator)與系統(tǒng)震動(dòng)的相關(guān)資料,需要的朋友可以參考下2018-08-08IOS 中 new 和 alloc init 的對(duì)比
這篇文章主要介紹了IOS 中 new 和 alloc init 的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-02-02iOS用AutoLayout實(shí)現(xiàn)分頁滾動(dòng)功能
這篇文章主要給大家介紹了關(guān)于iOS用AutoLayout實(shí)現(xiàn)分頁滾動(dòng)功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06IOS 開發(fā)狀態(tài)欄隱藏的實(shí)現(xiàn)辦法
這篇文章主要介紹了IOS 開發(fā)狀態(tài)欄隱藏的實(shí)現(xiàn)辦法的相關(guān)資料,需要的朋友可以參考下2017-02-02iOS Remote Notification遠(yuǎn)程消息推送處理
這篇文章主要為大家詳細(xì)介紹了iOS Remote Notification遠(yuǎn)程消息推送處理,感興趣的小伙伴們可以參考一下2016-09-09詳解iOS 實(shí)現(xiàn)一對(duì)多代理方案
本文主要介紹了iOS 實(shí)現(xiàn)一對(duì)多代理方案,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01iOS中無限循環(huán)滾動(dòng)簡單處理實(shí)現(xiàn)原理分析
這篇文章主要介紹了iOS中無限循環(huán)滾動(dòng)簡單處理實(shí)現(xiàn)原理分析,需要的朋友可以參考下2017-12-12