打開項(xiàng)目->Target 可以看到一個Build號跟一個Version號 這里的信息是跟Info.plist的信息是想對應(yīng)的
我們打開Info.plist
他們對應(yīng)的關(guān)系
代碼獲取他們
- Build
[[NSBundle mainBundle].infoDictionary objectForKey:@"CFBundleVersion"];
- Version
[[NSBundle mainBundle].infoDictionary objectForKey:@"CFBundleShortVersionString"];
二者的區(qū)別
普通情況下狐粱,我們只使用version即可,設(shè)置為"1.0", "1.1", "2.0" , etc卒废,但如果你要使用兩個版本號時候,需要將build設(shè)置為1,2,3...等
遞增的整數(shù)
version我們可以通過App Store正林、itunes或其它軟件看到衩匣,是給用戶看的,而build是我們在團(tuán)隊(duì)開發(fā)中內(nèi)部只用的豹芯,只有我們自己可以看到. 比如團(tuán)隊(duì)打算發(fā)布1.0版本的時候罚拟,會發(fā)布很多build版本供測試或QA團(tuán)隊(duì)進(jìn)行測試台诗,你發(fā)布了很多build,因?yàn)橐恢痹谛薷闹a赐俗,因此當(dāng)你收到一條bug信息時候拉队,你怎么知道是那個build引起的問題呢,這時候build版本號的有點(diǎn)就可以體現(xiàn)出來了
開發(fā)技巧
在Xcode編譯時候自動增加build號碼阻逮,先把 Info.plist 里的版本號改成某個數(shù)字粱快,然后 Targets → your target → Build Phases → Run Script 的地方加上:
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"