美文网首页iOS点点滴滴
iOS 检测 APP 版本更新

iOS 检测 APP 版本更新

作者: amoLink | 来源:发表于2016-11-09 20:53 被阅读191次

    直接贴代码,请勿见怪,哈哈~

    #pragma mark -检测新版本

    //检验是否更新

    -(void)updateToNewVersion {

    NSString *urlStr =[NSString stringWithFormat:@"https://itunes.apple.com/lookup?id=appId"];

    NSURL *url=[NSURL URLWithString:urlStr];

    //2.创建请求对象

    NSURLRequest *request =[NSURLRequest requestWithURL:url];

    //3.获得会话对象

    NSURLSession *session =[NSURLSession sharedSession];

    //4.根据会话对象创建一个Task(发送请求)

    /*

    第一个参数:请求对象

    第二个参数:completionHandler回调(请求完成【成功|失败】的回调)

    data:响应体信息(期望的数据)

    response:响应头信息,主要是对服务器端的描述

    error:错误信息,如果请求失败,则error有值

    */

    NSURLSessionDataTask *dataTask =[session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data,NSURLResponse * _Nullable response,NSError * _Nullable error){

    if(error == nil){

    //6.解析服务器返回的数据

    //说明:(此处返回的数据是JSON格式的,因此使用NSJSONSerialization进行反序列化处理)

    NSDictionary *dict =[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

    NSLog(@"dict --- %@",dict);

    //获取appStore上的版本号

    NSString *appStoreVersion =[[[dict valueForKey:@"results"]valueForKey:@"version"]firstObject];

    //获取当前版本号

    NSString *currenVersion =[[NSBundle mainBundle]objectForInfoDictionaryKey:@"CFBundleShortVersionString"];

    if(![appStoreVersion isEqualToString:currenVersion]){

    NSLog(@"发现新版本");

    dispatch_async(dispatch_get_main_queue(),^{

    NSString *versonString =[NSString stringWithFormat:@"版本号:%@",appStoreVersion];

    //提示是否更新

    UIAlertView *alter =[[UIAlertView alloc]initWithTitle:@"发现新版本" message:versonString delegate:self cancelButtonTitle:@"立即更新" otherButtonTitles:@"下次更新",nil];

    [alter show];

    });

    }

    }

    }];

    //5.执行任务

    [dataTask resume];

    }

    #pragma mark - alertView代理事件

    -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

    NSLog(@"点击了第%d个按钮",buttonIndex);

    //立即更新0,下次更新1

    if(buttonIndex == 0){

    NSString *str =[NSString stringWithFormat:@"https://itunes.apple.com/us/app/id%d",appId];

    // 跳转到appStroe对应的应用

    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:str]];

    } else {

    }

    }

    相关文章

      网友评论

        本文标题:iOS 检测 APP 版本更新

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