zoukankan      html  css  js  c++  java
  • ios检查版本更新

     

           

    场景

    在我们使用应用时,一打开应用,如果此应用有新的版本,常常能在应用中给出提示,是否要更新此应用。所以,我们就来看看,版本更新是如何实现的。

    应用

    苹果给了我们一个接口,能根据应用id请求一些关于应用的信息。我们可以根据返回的信息,来判断版本是否和应用的版本一致,如果不一致,那么就出现新的版本了。这时,就需要向用户提醒有新的版本,需要更新。具体步骤如下:
    1
    2
    3
    4
    5
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",appleID]]];
    [request setHTTPMethod:@"GET"];
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSDictionary *jsonData = [NSJSONSerialization JSONObjectWithData:returnData options:0 error:nil];

    这里,我们通过同步请求,解析json数据,得到了数据。
    好的,我们这里需要,version,trackViewUrl,trackName。
    1
    2
    3
    NSString *latestVersion = [releaseInfo objectForKey:@"version"];
    NSString *trackViewUrl1 = [releaseInfo objectForKey:@"trackViewUrl"];//地址trackViewUrl
    NSString *trackName = [releaseInfo objectForKey:@"trackName"];//trackName

    获取此应用的版本号
    1
    NSString *currentVersion = [infoDict objectForKey:@"CFBundleVersion"];

    通过latestVersion和currentVersion的比较,来判断是否有新的更新。
    NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
            NSString *currentVersion = [infoDict objectForKey:@"CFBundleVersion"];
            double doubleCurrentVersion = [currentVersion doubleValue];
            
            if (doubleCurrentVersion < doubleUpdateVersion) {
                
                UIAlertView *alert;
                alert = [[UIAlertView alloc] initWithTitle:trackName
                                                   message:@"有新版本,是否升级!"
                                                  delegate: self
                                         cancelButtonTitle:@"取消"
                                         otherButtonTitles: @"升级", nil];
                alert.tag = 1001;
                [alert show];
            }
            else{
                UIAlertView *alert;
                alert = [[UIAlertView alloc] initWithTitle:trackName
                                                   message:@"暂无新版本"
                                                  delegate: nil
                                         cancelButtonTitle:@"好的"
                                         otherButtonTitles: nil, nil];
                [alert show];
            }

    如果有新的版本,那么就跳转至下载页面,这里就用到了trackViewUrl,trackViewUrl是全路径,直接请求。
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:trackViewUrl]];

    好的,这就是版本更新的全部步骤。
  • 相关阅读:
    事务传播机制,搞懂。
    洛谷 P1553 数字反转(升级版) 题解
    洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here 题解
    洛谷 P1055 ISBN号码 题解
    洛谷 P2141 珠心算测验 题解
    洛谷 P1047 校门外的树 题解
    洛谷 P1980 计数问题 题解
    洛谷 P1008 三连击 题解
    HDU 1013 题解
    HDU 1012 题解
  • 原文地址:https://www.cnblogs.com/lingzeng/p/4135726.html
Copyright © 2011-2022 走看看