iOS版本更新

作者: 卖报的小画家Sure | 来源:发表于2016-10-11 16:07 被阅读893次

一、获取app线上版本
苹果提供网址:https://itunes.apple.com/lookup
网址所需参数:id=app对应id(可在iTunes Connect上查看)
请求方式这里使用的为自封装的网络请求类,可以替换为自己的或者改成AFNet等请求亦可

- (void)versionButtonClick{
    //此id为你自己项目的标示,可在iTunes Connect上查看
    NSDictionary *parameter = @{@"id":@"项目id"};
    [HttpRequest get_StartRequestFromUrl:@"https://itunes.apple.com/lookup" AndParameter:parameter returnData:^(NSData *resultData, NSError *error) {
        if (!error) {
            NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:resultData options:NSJSONReadingMutableContainers error:nil];
            if ([dict[@"results"]lastObject]) {
                NSLog(@"线上版本号:%@",[dict[@"results"]lastObject][@"version"]);
                [self checkAppUpdate:[dict[@"results"]lastObject][@"version"]];
            }
        }
    }];
}

二、线上版本与本地版本进行比较。
获取本地版本这里可以在当前程序的info.plist中查找CFBundleShortVersionString即可。

- (void)checkAppUpdate:(NSString *)onlineVersion{
    NSString * localVersion = [[[NSBundle mainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"];
    NSLog(@"本地版本号:%@",localVersion);
    /*
     因版本号形式为1.0.0、2.1.0等样式,为了便于比较,执行字符串操作,将字符串中的点换为空
     例如线上版本为2.1.0 本地版本为2.0.0
     进行对应转化后即可变为210与200,如此进行比较会更方便。
    */
    NSString * online = [onlineVersion stringByReplacingOccurrencesOfString:@"." withString:@""];
    NSString * local = [localVersion stringByReplacingOccurrencesOfString:@"." withString:@""];
    if ([online integerValue] > [local integerValue]) {
        NSLog(@"有新版本");
    } 
}

相关文章

  • iOS版本更新

    iOS APP版本 更新

  • iOS 上传AppStore 被拒汇总

    (1)、苹果要求版本更新必须使用iOS版本更新内置更新机制。 4. Design: Preamble Design...

  • iOS版本更新

    1、获取当前版本 NSString *current_version = [[[NSBundle mainBund...

  • iOS 版本更新

    获取本机版本号 NSDictionary *localDic = [[NSBundle mainBundle] i...

  • iOS版本更新

    版本更新 #pragma mark -检查版本更新 - (void)checkNewVersion { // NS...

  • iOS 版本更新

    众所周知苹果拒绝任何带有版本更新的提示出现在页面中,因此我们通过接口获取,处理是否显示更新提示。 1.判断版本号 ...

  • iOS 版本更新

    1.获取本地版本信息 2.获取App Store版本信息 3.新旧版本对比 代码: 请求的基类中获取App Sto...

  • iOS版本更新

    最近,应项目需求,简单写了一个版本更新的提示,有需要的码友可以去下载看看,实现起来比较简单。 效果图 首先是请求a...

  • iOS版本更新

    一、获取app线上版本苹果提供网址:https://itunes.apple.com/lookup网址所需参数:i...

  • iOS 版本更新

    今天公司要给APP加上“检查更新”这个服务,因为在上一家公司做过,所以没花太多时间就完成了。不过还是看以前公司的代...

网友评论

  • xixi007:不是说苹果不允许 有这种 更新版本的提示吗?///
    卖报的小画家Sure:@xixi007 不允许明显的提示,例如有个按钮叫检查更新。而文中这种情况属于内部检测
  • 静持大师:想问下博主有没有考虑过审核期间的审核版本和线上版本会不一致,该怎么去避免弹出版本更新提示? :grin:
    卖报的小画家Sure:@静持大师 弹窗的判断条件是线上版本大于本地版本,而非不一致即弹出。线上的版本一定是小于审核中的版本的,所以不会调用弹窗。
  • 飞翔de小苹果:今天准备这一个版本更新的功能,楼主这个比较简单的效果,但是也受教了

本文标题:iOS版本更新

本文链接:https://www.haomeiwen.com/subject/xbrbyttx.html