
Version:發(fā)布版本號(hào),可以通過(guò)App Store、itunes或其它軟件看到,是給用戶看的,如當(dāng)前上架版本為1.1.0? 之后你更新的時(shí)候可以改為1.1.1
對(duì)應(yīng)著:CFBundleShortVersionString? 標(biāo)識(shí)應(yīng)用程序的發(fā)布版本號(hào)。
該版本的版本號(hào)是三個(gè)時(shí)期分隔的整數(shù)組成的字符串。第一個(gè)整數(shù)代表重大修改的版本,如實(shí)現(xiàn)新的功能或重大變化的修訂。第二個(gè)整數(shù)表示的修訂,實(shí)現(xiàn)較突出的特點(diǎn)。第三個(gè)整數(shù)代表維護(hù)版本。該鍵的值不同于“CFBundleVersion”標(biāo)識(shí)。
Build: 內(nèi)部標(biāo)示,團(tuán)隊(duì)開(kāi)發(fā)中內(nèi)部使用的,只有開(kāi)發(fā)者可以看到,用以記錄開(kāi)發(fā)版本的,每次更新的時(shí)候都需要比上一次高 如:當(dāng)前版本是1.1? 下一次就要大于1.1 比如 1.2,1.3 ....)
對(duì)應(yīng)著:CFBundleVersion,標(biāo)識(shí)(發(fā)布或未發(fā)布)的內(nèi)部版本號(hào),是一個(gè)單調(diào)增加的字符串,包括一個(gè)或多個(gè)時(shí)期分隔的整數(shù)。
build對(duì)于開(kāi)發(fā)者:如團(tuán)隊(duì)打算發(fā)布1.0版本的時(shí)候,會(huì)發(fā)布很多build版本供測(cè)試或QA團(tuán)隊(duì)進(jìn)行測(cè)試,你發(fā)布了很多build,因?yàn)橐恢痹谛薷闹a,因此當(dāng)你收到一條bug信息時(shí)候,你怎么知道是那個(gè)build引起的問(wèn)題呢,這時(shí)候build版本號(hào)的有點(diǎn)就可以體現(xiàn)出來(lái)了
還有就是build的為了方便開(kāi)發(fā)者多次提交binary, 比如被蘋(píng)果reject后,第一次提交version和build都是1.0,假如審核沒(méi)過(guò),那么修改代碼后新的構(gòu)建的version還是1.0,build改為1.0.1就ok了
兩個(gè)的獲取方式:
Version :
NSString*key=@"CFBundleShortVersionString";
NSString*currentVersion=[NSStringstringWithFormat:@"V%@",[NSBundlemainBundle].infoDictionary[key]];
Build:
NSString*key=@"CFBundleVersion";
NSString*currentVersion=[NSStringstringWithFormat:@"V%@",[NSBundlemainBundle].infoDictionary[key]];