1. 程式人生 > >Xcode的iOS專案的版本號設定

Xcode的iOS專案的版本號設定

Version & Build 號

Image1 icon

今天對Xcode裡iOS的版本號又有了新的認識,一個叫做Version,一個叫做Build,這兩個值都可以在Xcode中選中target,點選“Summary”後看到。 Version在plist檔案中的key是“CFBundleShortVersionString”,和AppStore上的版本號保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本號,該值每次build之後都應該增加1。這兩個值都可以在程式中通過下面的程式碼獲得:

[[[NSBundle mainBundle] infoDictionary] valueForKey:@"key"]

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。