iOS App 的版本更新检测的方法

[objc] view plain copy

-(void)hsUpdateApp

{

//2先获取当前工程项目版本号

NSDictionary *infoDic=[[NSBundle mainBundle] infoDictionary];

NSString *currentVersion=infoDic[@"CFBundleShortVersionString"];

//3从网络获取appStore版本号

NSError *error;

NSData *response = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",STOREAPPID]]] returningResponse:nil error:nil];

if (response == nil) {

NSLog(@"你没有连接网络哦");

return;

}

NSDictionary *appInfoDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];

if (error) {

NSLog(@"hsUpdateAppError:%@",error);

return;

}

NSArray *array = appInfoDic[@"results"];

NSDictionary *dic = array[0];

NSString *appStoreVersion = dic[@"version"];

//打印版本号

NSLog(@"当前版本号:%@\n商店版本号:%@",currentVersion,appStoreVersion);

//4当前版本号小于商店版本号,就更新

if([currentVersion floatValue] < [appStoreVersion floatValue])

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"版本有更新" message:[NSString stringWithFormat:@"检测到新版本(%@),是否更新?",appStoreVersion] delegate:self cancelButtonTitle:@"取消"otherButtonTitles:@"更新",nil];

[alert show];

}else{

NSLog(@"版本号好像比商店大噢!检测到不需要更新");

}

}

- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

//5实现跳转到应用商店进行更新

if(buttonIndex==1)

{

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id"]];

}

}

你可能感兴趣的:(iOS App 的版本更新检测的方法)