iOS 項目中的version和build 詳解
iOS 項目中的version和build
Version在plist文件中的key是“CFBundleShortVersionString”,標識應用程序的發(fā)布版本號,和AppStore上的版本號保持一致。該版本的版本號是三個分隔的整數(shù)組成的字符串。第一個整數(shù)代表重大修改的版本,如實現(xiàn)新的功能或重大變化的修訂。第二個整數(shù)表示的修訂,實現(xiàn)較突出的特點。第三個整數(shù)代表維護版本
Build在plist文件中的key是“CFBundleVersion”,標示(發(fā)布或者未發(fā)布)的內部版本號。這是一個單調增加的字符串,包括一個或者多個分割的整數(shù)。
以上兩個版本號可以通過以下方式獲得:
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; // app版本 NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; // app build版本 NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];
編寫腳本使Archive后自動增長build版本號
如果我們想在Archive后build號自動增長,就可以使用到Xcode的run script來實現(xiàn),步驟是
- 選中項目的target,點擊“Build Phases“
- 點擊右下角的”Add Build Phrase“,選擇”Add run script“,會產(chǎn)生一個新的Run Script項
- 拖拽新生成的Run Script項到最上面
- 點開該項,copy下面的shell代碼進去,代碼來自這里,如下圖所示
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腳本的意思就是說,如果當前的配置是Release(Archive時該值為Release,直接在模擬器上運行是Debug),就設置build值為當前build值+1, 否則什么都不干。
這樣在build的時候就會看到build號會自動加1的,想看build時輸出的信息,可以通過”View -> Navigators -> Log”來查看最新的build時產(chǎn)生的log。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
詳解iOS應用的設計模式開發(fā)中Mediator中介者模式的使用
這篇文章主要介紹了iOS應用的設計模式開發(fā)中Mediator中介者模式的使用,示例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03
使用UITextField限制只可輸入中,英文,數(shù)字的方法
在我們日常開發(fā)中經(jīng)常遇到一些情況,要UITextField只能輸入某一種特定的字符.比如大寫A-Z或者小寫a-z,或者漢字.或者數(shù)字.那么該如何實現(xiàn)呢,下面通過這篇文章來看看吧。2016-09-09
Xcode中iOS應用開發(fā)的一般項目目錄結構和流程簡介
這篇文章主要介紹了Xcode中iOS應用開發(fā)的一般項目目錄結構和流程簡介,包括項目所需的一些平臺路徑如模擬器路徑等的介紹,需要的朋友可以參考下2016-02-02

