iOS開發 判斷當前APP版本和升級

從iOS8系統開始,用戶能夠在設置裏面設置在WiFi環境下,自動更新安裝的App。此功能大大方便了用戶,可是一些用戶沒有開啓此項功能,所以仍是須要在程序裏面提示用戶的服務器

方法一:在服務器接口約定對應的數據,這樣,服務器直接傳遞信息,提示用戶有新版本,能夠去商店升級app

注意:這個方法是有毛病的,若您的App還沒審覈經過,而移動端後臺數據已經更新,後臺給您返回的版本號是最新的版本號,老版本會提示用戶升級,可是用戶點擊升級後跳轉至AppStore卻發現App還未更新url

方法二:檢測手機上安裝的App版本,而後跟App Store上App的版本信息聯合來判斷(目前最經常使用的方法)orm

步驟一:獲取當前運行的版本信息,經過info.plist文件的bundle version中獲取blog

NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
//當前版本號
NSString *currentVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];

步驟二:獲取AppStore中的App版本信息接口

-(void)judgeAppVersion{
  //AppStore訪問地址(重點) NSString *urlStr = @"https://itunes.apple.com//lookup?id=AppID"; NSURL *url = [NSURL URLWithString:urlStr]; NSURLRequest *req = [NSURLRequest requestWithURL:url]; [NSURLConnection connectionWithRequest:req delegate:self]; } #pragma mark - NSURLConnectionDataDelegate -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ NSError *error;
  //解析 NSDictionary *appInfo = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error]; NSArray *infoContent = [appInfo objectForKey:@"results"]; //最新版本號 NSString *version = [[infoContent objectAtIndex:0] objectForKey:@"version"]; //應用程序介紹網址(用戶升級跳轉URL) NSString *trackViewUrl = [[infoContent objectAtIndex:0] objectForKey:@"trackViewUrl"]; }

解析從AppStore獲取到的App信息(這裏就只介紹重點使用到的信息)string

minimumOsVersion = "8.0";         //App所支持的最低iOS系統
fileSizeBytes = ;                 //應用的大小
releaseDate = "";                 //發佈時間
trackCensoredName = "";           //審查名稱       
trackContentRating = "";          //評級  
trackId = ;                       //應用程序ID
trackName = "";                   //應用程序名稱
trackViewUrl = "";                //應用程序介紹網址 
version = "4.0.3";                //版本號                   

步驟三:判斷當前線上App的版本號與所使用的App版本號是否一致it

if (![version isEqualToString:currentVersion]) {
        [SimplifyAlertView alertWithTitle:@"檢查更新:i店" message:[NSString stringWithFormat:@"發現新版本(%@),是否升級",version] operationResult:^(NSInteger selectedIndex) {
            if (selectedIndex == 1) {
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:trackViewUrl]];
            }
        } cancelButtonTitle:@"取消" otherButtonTitles:@"升級", nil];
 }
相關文章
相關標籤/搜索