Version和Build的區(qū)別
一個version榆纽,一個build,都是設(shè)置版本的地方捏肢,有什么區(qū)別呢奈籽?
在ios中(Android等工程中也一樣),有兩種version,一種是CFBundleVersion ("Bundle Version")鸵赫,也就是我們看到的version,另一種是CFBundleShortVersionString ("Bundle version string, short")衣屏,也就是我們看到的Build。
普通情況下辩棒,我們只使用version即可勾拉,設(shè)置為"1.0", "1.1", "2.0" , etc,但如果你要使用兩個版本號時(shí)候盗温,需要將build設(shè)置為1,2,3...等遞增的整數(shù),有什么用呢成肘?
version我們可以通過App Store卖局、itunes或其它軟件看到,是給用戶看的双霍,而build是我們在團(tuán)隊(duì)開發(fā)中內(nèi)部只用的砚偶,只有我們自己可以看到。比如團(tuán)隊(duì)打算發(fā)布1.0版本的時(shí)候洒闸,會發(fā)布很多build版本供測試或QA團(tuán)隊(duì)進(jìn)行測試染坯,你發(fā)布了很多build,因?yàn)橐恢痹谛薷闹a丘逸,因此當(dāng)你收到一條bug信息時(shí)候单鹿,你怎么知道是那個build引起的問題呢,這時(shí)候build版本號的有點(diǎn)就可以體現(xiàn)出來了
當(dāng)前運(yùn)行版本信息可以通過info.plist文件中的bundle version中獲壬罡佟:
NSDictionary*infoDic=[[NSBundlemainBundle]infoDictionary];
CFShow(infoDic);
可以自己輸出看一下CFShow打印出來的時(shí)什么
下面的代碼是如果你想在UI上展示給用戶看的獲取Version的代碼仲锄,對比是否升級也是通過version對比,而不是build湃鹊,也是用下面代碼
NSString* appVersion = [[NSBundle mainBundle]objectForInfoDictionaryKey:(NSString*)kCFBundleVersionKey];