zoukankan      html  css  js  c++  java
  • iOS检测版本更新

    有时候为了需求,我们需要检测app版本更新今天在这里整合下

    //获取当前版本号

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

        CFShow((__bridge CFTypeRef)(infoDictionary));

        

        NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

        //获取苹果商店的版本号

        NSError  *error;

        NSString * urlStr = [NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=你要检测的app版本"];

        NSURL * url =[NSURL URLWithString:urlStr];

        NSURLRequest * request =[NSURLRequest requestWithURL:url];

        NSData * response =[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

        NSDictionary * appInfo =[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];

        if (error) {

            NSLog(@"error:%@",[error description]);

        }

        NSArray *resultsArray =[appInfo objectForKey:@"results"];

        if (![resultsArray count]) {

            NSLog( @"error: nil");

            return self;

        }

        NSDictionary * infoDic =[resultsArray objectAtIndex:0];

        NSString * appVersion = [infoDic objectForKey:@"version"];

       appUrl =[infoDic objectForKey:@"trackViewUrl"];

        double doucurrV =[app_Version doubleValue];

        double  douappV= [appVersion doubleValue];

        //判断版本号对比

        if (doucurrV < douappV) {

            NSString * titleStr =[NSString stringWithFormat:@"检查更新"];

            NSString * message =[NSString stringWithFormat:@"发现新版本,是否更新?"];

            UIAlertView * alert = [[UIAlertView alloc]initWithTitle:titleStr message:message delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

            

            alert.tag = 1001;

            [alert show];

                                  

        }else

        {

            

            UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"检测更新" message:@"无更新版本"delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

            

            alert.tag = 1002;

            [alert show];

            

            

        }

       //跳转更新 

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

    {

        

        if (alertView.tag ==1001) {

            if (buttonIndex == 1) {

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

            }

        }

        

    }

  • 相关阅读:
    【BZOJ】2019: [Usaco2009 Nov]找工作(spfa)
    【BZOJ】3668: [Noi2014]起床困难综合症(暴力)
    Redis 字符串结构和常用命令
    Redis实现存取数据+数据存取
    Spring 使用RedisTemplate操作Redis
    使用 java替换web项目的web.xml
    SQL server 从创建数据库到查询数据的简单操作
    SQL server 安装教程
    IntelliJ IDEA 注册码(因为之前的地址被封杀了,所以换了个地址)
    对程序员有帮助的几个非技术实用链接(点我,你不会后悔的)
  • 原文地址:https://www.cnblogs.com/LGX3399577/p/re1.html
Copyright © 2011-2022 走看看