你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS 項目中的version和build 詳解

iOS 項目中的version和build 詳解

編輯:IOS開發綜合

iOS 項目中的version和build

Version在plist文件中的key是“CFBundleShortVersionString”,標識應用程序的發布版本號,和AppStore上的版本號保持一致。該版本的版本號是三個分隔的整數組成的字符串。第一個整數代表重大修改的版本,如實現新的功能或重大變化的修訂。第二個整數表示的修訂,實現較突出的特點。第三個整數代表維護版本

Build在plist文件中的key是“CFBundleVersion”,標示(發布或者未發布)的內部版本號。這是一個單調增加的字符串,包括一個或者多個分割的整數。

以上兩個版本號可以通過以下方式獲得:

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來實現,步驟是

  1. 選中項目的target,點擊“Build Phases“
  2. 點擊右下角的”Add Build Phrase“,選擇”Add run script“,會產生一個新的Run Script項
  3. 拖拽新生成的Run Script項到最上面
  4. 點開該項,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時產生的log。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved