版本更新相關,CFBundleVersion和CFBundleShortVersionString的比較,獲取版本號
移動客戶端進行版本迭代時,需要進行本地版本號和伺服器版本號比較,從而實現更新提示。本文祥講怎樣獲取版本號,具體的比較方法。
一、CFBundleShortVersionString和CFBundleVersion
CFBundleShortVersionString:對應Version項
標識應用程式的釋出版本號。該版本的版本號是三個時期分隔的整陣列成的字串。第一個整數代表重大修改的版本,如實現新的功能或重大變化的修訂。第二個整數表示的修訂,實現較突出的特點。第三個整數代表維護版本。該鍵的值不同於“CFBundleVersion”標識。
CFBundleVersion:對應Build項
標識(釋出或未釋出)的內部版本號。這是一個單調增加的字串,包括一個或多個時期分隔的整數。
簡而言之: CFBundleShortVersionString是比較正式的版本號,只有版本釋出時才修改,而每次迭代中間需要build出很多版本,CFBundleVersion就是區分迭代中間版本的,在判斷版本是否需要更新時,一定要用CFBundleShortVersionString。二、具體的做版本比較
1.我們可以將NSString中的.去掉,然後對純數字字串比較
NSString *version = [myVersionstringByReplacingOccurrencesOfString:@"."withString:@""];
2.直接進行對比
//當前版本號
NSString *myVersion = [[
//獲取到伺服器最新版本號,此處用1.1.0測試
NSString *lastVersion =@"1.1.0";
if ([myVersioncompare:lastVersionoptions:NSNumericSearch] ==NSOrderedDescending) {
//當前版本低於最新版本
NSLog(@" the version is low");
}
else
{
NSLog(@" the version is last");
}
三:跳轉到APPStore更新
點選立即更新跳轉到APPStore:
NSString *urlStr =@"http://itunes.apple.com/cn/app/id1197959303"
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];