下面提供了两个方法:
方法一是封装了一个更新类;
方法二则是直接写在自己的Controller中的,耦合性比较高
底下有Demo,请自行下载
方法一:
// AYCheckManager *checkManger = [AYCheckManager sharedCheckManager];
// checkManger.countryAbbreviation = @"cn";
// // checkManger.openAPPStoreInsideAPP = YES;
// // [checkManger checkVersion];
// checkManger.debugEnable = YES;
// [checkManger checkVersionWithAlertTitle:@"发现新版本" nextTimeTitle:@"下次提示" confimTitle:@"前往更新"];
方法二:
(void)onCheckVersion
{
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
//CFShow((__bridge CFTypeRef)(infoDic));
NSString *currentVersion = [infoDic objectForKey:@"CFBundleVersion"];
NSLog(@"当前版本 ==== %@",currentVersion);
NSString *URL =@"http://itunes.apple.com/lookup?id=284882215"; //数字为在商店中获取到的上架ID
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:URL]];
[request setHTTPMethod:@"POST"];
NSHTTPURLResponse *urlResponse = nil;
NSError *error = nil;
NSData *recervedData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
NSString *results = [[NSString alloc] initWithBytes:[recervedData bytes] length:[recervedData length] encoding:NSUTF8StringEncoding];
NSDictionary *dic = [results JSONValue];
NSLog(@"字典 ==== %@",dic);
NSArray *infoArray = [dic objectForKey:@"results"];
if ([infoArray count]) {
NSDictionary *releaseInfo = [infoArray objectAtIndex:0];
NSString *lastVersion = [releaseInfo objectForKey:@"version"];
NSLog(@"最近发布版本 ==== %@",lastVersion);
if (![lastVersion isEqualToString:currentVersion]) {
//trackViewURL = [releaseInfo objectForKey:@"trackVireUrl"];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"更新"message:@"有新的版本更新,是否前往更新?" delegate:self cancelButtonTitle:@"关闭"otherButtonTitles:@"更新",nil];
alert.tag =10000;
[alert show];
// UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"有新的版本更新,是否前往更新?" delegate:self cancelButtonTitle:@"确认" otherButtonTitles:nil, nil];
// alert.tag =10000;
// [alert show];
}
else
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"更新" message:@"此版本为最新版本" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil,nil];
alert.tag =10001;
[alert show];
}
}
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (alertView.tag==10000) {
if (buttonIndex==1) {
NSURL *url = [NSURL URLWithString:@"https://itunes.apple.com"];
[[UIApplication sharedApplication]openURL:url];
}
}
}
资源:
版本更新Demo资源下载地址: http://download.csdn.net/detail/qq_19678579/9714729