標籤:
Version,通常說的版本號碼,是應用向使用者宣傳說明時候用到的標識。一般有2段式或者3段式,例如:2.1,8.1.2
Version一般由產品部門確定,完全迥異的更新需要改變主要版本號,比如QQ4.0的變化非常大,主要版本的變化會更加吸引使用者的眼球,所以有的應用會頻繁的更新主要版本號,比如FireFox 20.0。兩段式的副版本號碼既包含小功能更新也會包含Bug修複等,三段式副版本基本都是新功能添加和大問題修複,第三段則表示穩定版本基本都是修複Bug。
Build,編譯號指一次唯一編譯標識,通常是一個遞增整數(安卓強製為數字,IOS可以是字串)
Build都是給內部使用的,用來確定一個唯一版本。與前面提到的Version不會有太大的聯絡。
IOS開發中,這2個號碼都是可以任一數字或字串。
我們目前遇到的情況有:
1、忽略了Version或Build.
2、顛倒了Version和Build.
擷取方法也很簡單:
NSDictionary *info = [[NSBundle mainBundle] infoDictionary]; //Version NSString *appVersion = [info objectForKey:@"CFBundleShortVersionString"]; //Build NSString *buildVersion = [info objectForKey:@"CFBundleVersion"];
為什麼使用版本號碼
1. 方便標示和溝通
前面提到 版本號碼更新會給推廣產生一定的積極作用. 所以版本號碼不要太長, 如果像這樣 "我們隆重推出了 某某某 1.7.14.19257 !", 這個會讓使用者感覺很乏味很像電視購物,而且也不利於傳播. 如果是 "某某 3.0, 大有不同 !"可能就會產生更好的溝通效果.
2. 方便追蹤 Bug
一個應用有 Bug 是肯定的, 但是很快的定位解決問題卻體現出團隊和程式員的能力. 我們經常遇到有開發人員說我提交一個版本, 但是下載下來有還是舊的. 我們幫他解決問題的時候,他自己都搞不清哪個是哪個了, 如果能在"關於"之類的地方顯示當前的版本, 就會容易找到問題.
或者是測試團隊的同事, 可能手裡同時有幾個不同分支的版本在測試, 他們需要精確的描述一個測試版本.
自動改變 Build 號
前面提到, Version 是不需要自動變化的, 根據產品或者市場部門的需求,適時的手動改一下就好
淺談IOS版本號碼