版本更新
#pragma mark - 检查版本更新
- (void)checkNewVersion {
// NSString *url = @"https://itunes.apple.com/cn/app/ya-zi-kan-hu-ji-qi-ren/id1067342148?mt=8";
NSString *url = @"http://itunes.apple.com/cn/lookup?id=1067342148"; // ******************根据自己的应用改URL ******************
[GJWHttpTool getWithURL:url params:nil success:^(id json) {
// 请求成功
// 字典接收请求到的JSon
NSDictionary *reslut = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableContainers error:nil];
NSDictionary *responseDict = [NSDictionary dictionaryWithDictionary:reslut];
// 解析请求到的JSon
NSArray *results =[responseDict objectForKey:@"results"];
NSDictionary *finalDict = [results firstObject];
// 获取APP下载地址
NSString *trackViewUrl =[finalDict objectForKey:@"trackViewUrl"];
updateUrl = [NSURL URLWithString:trackViewUrl];
// 获取官网APP的版本号
NSString *str1 = [finalDict objectForKey:@"version"];
NSString *version1 = [str1 substringFromIndex:2];
// 将版本号字符串转换成float类型
float newVersion = [version1floatValue];
// 获取本地项目版本号
// 拿到项目的infoPlist文件中所有内容
NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
// 获取到当前工程版本号
NSString *str2 = [infoDict objectForKey:@"CFBundleShortVersionString"];
NSString *version2 = [str2 substringFromIndex:2];
// 将版本号字符串转换成float类型
float localVersion =[version2 floatValue];
// 对比两处版本号
if (newVersion >localVersion) {
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"" message:[NSString stringWithFormat:@"新版本 %@ 已发布!",str1] delegate:self.class cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];
alert.delegate = self;
[alert addButtonWithTitle:@"前往更新"];
[alert show];
alert.tag = 20;
} else {
[[[UIAlertView alloc] initWithTitle:nil message:@"已是最高版本" delegate:self.class cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil] show];
}
} failure:^(NSError *error) {
// 返回请求失败的原因
NSLog(@"NSError:%@", error);
}];
}
#pragma mark – UIAlertViewDelegate
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
if (buttonIndex ==1 & alertView.tag ==20) {
[[UIApplication sharedApplication] openURL:updateUrl];
}
}