iOS开发之检查APP版本更新

/// @brief 获取到得最新版本号

@property (nonatomic ,copyNSString *latestVersion;

/// @brief 获取到的APP下载地址

@property (nonatomic ,copyNSString *trackViewUrl;

/// @brief 获取到得APP名称

@property (nonatomic ,copyNSString *trackName;

/// @brief 本地APP的版本号

@property (nonatomic ,copyNSString *currentVersion;


#pragma mark - 检查APP版本

- (void)checkAPPVersion {

//主要思路,对AppStore上的版本号与本地APP版本号进行对比

    //iTunes地址请求数据

    NSError *error;

    NSString *urlStr = [NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",@"1051232511"];

    NSURL *url = [NSURL URLWithString:urlStr];

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

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

    

//appInfoDic中存放的是AppStoreAPP的信息

    NSDictionary *appInfoDic = [NSJSONSerialization JSONObjectWithData:responseoptions:NSJSONReadingMutableLeaves error:&error];

    if (error) {

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

        return ;

    }

    

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

    if (![resultsArray count]) {

        NSLog(@"error: reslutsArray == nil");

        return ;

    }

    

    //获取最新版本信息

    NSDictionary *infoDic = [resultsArray objectAtIndex:0];

    self.latestVersion = [infoDic objectForKey:@"version"];

    self.trackViewUrl = [infoDic objectForKey:@"trackViewUrl"];

    self.trackName = [infoDic objectForKey:@"trackName"];

    

    //获取本地APP最新版本信息

//infoDict中存放的是本地APP的info.plist信息

    NSDictionary *infoDict = [[NSBundle mainBundleinfoDictionary];

    self.currentVersion = [infoDict objectForKey:@"CFBundleVersion"];

    

    if (![self.currentVersion isEqualToString:self.latestVersion]) {

        NSString *messageStr = [NSString stringWithFormat:@"发现新版本(%@)",self.latestVersion];

        

        UIAlertView *alert = [[UIAlertView allocinitWithTitle:messageStr message:nil delegate:selfcancelButtonTitle:@"暂不升级" otherButtonTitles:@"立即升级"nil];

        

        [alert show];

        

    }

}

#pragma mark - UIAlertViewDelegate

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

    if (buttonIndex == 1) {

//跳转到AppStore相关下载页面

        [[UIApplication sharedApplicationopenURL:[NSURL URLWithString:self.trackViewUrl]];

    }


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值