標籤:
一個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 = [[NSBundle mainBundle] infoDictionary];
CFShow(infoDic);
可以自己輸出看一下CFShow列印出來的時什麼
下面的代碼是如果你想在UI上展示給使用者看的擷取Version的代碼,對比是否升級也是通過version對比,而不是build,也是用下面代碼
NSString * appVersion = [[NSBundle mainBundle]objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
iOS 版本號碼Version和Build的區別