iOS检测更新

##原理: ###通过appid访问 http://itunes.apple.com/lookup 可以获取appStore上本app最新版本的信息然后和当前安装的版本做比较, 如果本地低于最新版本弹框提示让用户选择是否跳转到appstore更新。

##获取所安装的app版本号

    NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
    _LocationVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];
复制代码

##获取appStore最新版本号 并且比较两者 ###示例只取最新的版本号。更多信息可以通过控制台的输出得到获取字段。

    AFWeakSelf(self);
    [[NetKit kit] GET:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",APP_ID] parameters:nil success:^(id ret) {
        AFStrongSelf(self);
        NSLog(@"最新版本信息%@",ret);
        if ([ret hasObjectWithKey:@"results"]) {
            NSArray *infoArray = ret[@"results"];
            if (infoArray.count) {
                NSDictionary *releaseInfo = [infoArray objectAtIndex:0];
                NSString *lastVersion = [releaseInfo objectForKey:@"version"];
                
                if ([_LocationVersion compare:lastVersion options:NSNumericSearch] == NSOrderedAscending)
                {
                    [UIAlertView bk_showAlertViewWithTitle:@"更新提示" message:@"发现新版本,是否立即更新?" cancelButtonTitle:@"立即更新" otherButtonTitles:@[@"以后再说"] handler:^(UIAlertView *alertView, NSInteger buttonIndex) {
                        if (buttonIndex == 0) {
                            [self PushtoAppStore:releaseInfo[@"trackViewUrl"]];
                        }
                    }];
                }
                
            }
            
        }
        
    } failure:^(NSError *error) {
        
    }];
复制代码

##跳转到appstore下载

- (void)PushtoAppStore:(NSString *)trackViewUrl{
    NSURL *url = [NSURL URLWithString:APP_LINK];
    [[UIApplication sharedApplication] openURL:url];
}

复制代码

##有先行者已经写好了封装 AYCheckVersion

转载于:https://juejin.im/post/5a31d57df265da430e4f2ab9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值