iOSプロジェクトのversionとbuildの詳細

2161 ワード

iOSプロジェクトのversionとbuild
Versionのplistファイルのkeyは「CFBundleShortVersionString」であり、アプリケーションのリリースバージョン番号を識別し、AppStoreのバージョン番号と一致しています.このバージョンのバージョン番号は、3つの区切りの整数からなる文字列です.最初の整数は、新しい機能や重大な変更を実現するなど、重大な変更のバージョンを表します.2番目の整数表現の改訂は、より際立った特徴を実現します.3番目の整数はメンテナンス・バージョンを表します
Buildのplistファイルのkeyは「CFBundleVersion」で、内部バージョン番号(パブリッシュまたは未パブリッシュ)が表示されます.これは、1つ以上の分割された整数を含む単調に増加した文字列です.
上記の2つのバージョン番号は、次の方法で入手できます.

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を使用して実現できます.
  • 項目のtargetを選択し、「Build Phases」
  • をクリックします.
  • 右下の「Add Build Phrase」をクリックし、「Add run script」を選択すると、新しい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のときに発生するlogを表示できます.
    読書に感謝して、みんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!