做个记录
1.首先获取到当前版本号
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
2.下面是重点,如何获取iTunes上面的版本号
首先需要一个URL:https://itunes.apple.com/cn/app/%E8%81%9A%E5%AE%9D%E7%8F%A0%E7%90%86%E8%B4%A2/id1115115919?mt=8"id改为自己的APP的id
返回的是接送数据,我们需要解析一下,获取版本号
NSArray *resultsArr = successDic[@"results"];
if (resultsArr.count > 0)
{
NSDictionary *dic = resultsArr[0];
//解析得到iTunes上的版本号
NSString *onLineVersoin = dic[@"version"];
// NSLog(@"线上版本号%@",onLineVersoin);
//通过对比来确认需不需要更新
if ([onLineVersoin floatValue] > [version floatValue])
{
UIAlertController *alertvc = [UIAlertController alertControllerWithTitle:@"提示" message:[NSString stringWithFormat:@"新版本%@已发布",onLineVersoin] preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* updateAction = [UIAlertAction actionWithTitle:@"前往更新" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//需要更新就直接调起Appstore 去更新
NSString *urlStr = @"https://itunes.apple.com/cn/app/%E8%81%9A%E5%AE%9D%E7%8F%A0%E7%90%86%E8%B4%A2/id1115115919?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
}];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
[alertvc addAction:cancelAction];
[alertvc addAction:updateAction];
[self.navigationController presentViewController:alertvc animated:YES completion:nil];
}
else
{
//因为我用的是点击检测更新,所以没有新版本的时候会提示已经是最新版本了
[self showAlertWithPoint:1
text:@"已经是最新版本了"
color:UICYAN];
}
}