Version和Build的區別
一個version,一個build,都是設置版本的地方,有什么區別呢?
在ios中(Android等工程中也一樣),有兩種version,一種是CFBundleVersion ("Bundle Version"),也就是我們看到的version,另一種是CFBundleShortVersionString ("Bundle version string, short"),也就是我們看到的Build。
普通情況下,我們只使用version即可,設置為"1.0", "1.1", "2.0" , etc,但如果你要使用兩個版本號時候,需要將build設置為1,2,3...等遞增的整數,有什么用呢?
version我們可以通過App Store、itunes或其它軟件看到,是給用戶看的,而build是我們在團隊開發中內部只用的,只有我們自己可以看到。比如團隊打算發布1.0版本的時候,會發布很多build版本供測試或QA團隊進行測試,你發布了很多build,因為一直在修改著代碼,因此當你收到一條bug信息時候,你怎么知道是那個build引起的問題呢,這時候build版本號的有點就可以體現出來了
當前運行版本信息可以通過info.plist文件中的bundle version中獲取:
NSDictionary*infoDic=[[NSBundlemainBundle]infoDictionary];
CFShow(infoDic);
可以自己輸出看一下CFShow打印出來的時什么
下面的代碼是如果你想在UI上展示給用戶看的獲取Version的代碼,對比是否升級也是通過version對比,而不是build,也是用下面代碼
NSString* appVersion = [[NSBundle mainBundle]objectForInfoDictionaryKey:(NSString*)kCFBundleVersionKey];