iOS 获取当前app的 App Store 版本号

NSString * strurl = [[NSString alloc] initWithFormat:@"http://itunes.apple.com/lookup?id=%@",AppIDs];//替换为自己App的ID
        NSURLSession *session=[NSURLSession sharedSession];
        NSURL *url = [NSURL URLWithString:strurl];
        
        //3.创建可变的请求对象
        NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
        NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error){
            //8.解析数据
            NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
            NSArray * results = dict[@"results"];
            NSDictionary * dic = results.firstObject;
            NSString * lineVersion = dic[@"version"];//版本号
            NSString * releaseNotes = dic[@"releaseNotes"];//更新说明
            NSString * trackViewUrl = dic[@"trackViewUrl"];//链接
            NSLog(@"App store版本号:%@",lineVersion);
            NSLog(@"更新说明:%@",releaseNotes);
            NSLog(@"App下载链接:%@",trackViewUrl);
            
            NSCharacterSet *nonDigitCharacterSet = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
            //获取字符串中的数字
            self.applocalversion = [[self.applocalversion componentsSeparatedByCharactersInSet:nonDigitCharacterSet] componentsJoinedByString:@""];//本地的app版本
            lineVersion = [[lineVersion componentsSeparatedByCharactersInSet:nonDigitCharacterSet] componentsJoinedByString:@""];//App store的app版本
            NSLog(@"结果是本地的app版本:%@ \n App store的app版本:%@ ",self.applocalversion,lineVersion);
            
            // 获取NSUserDefaults对象
            NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
            [defaults setObject:lineVersion forKey:@"App_store_version"];
            [defaults synchronize];  //如果要立刻保存就需要这行代码
            
            if ([lineVersion integerValue]>[self.applocalversion integerValue]) {//App store的app版本>//本地的app版本 时要提醒升级
                dispatch_async(dispatch_get_main_queue(), ^{
                    self.nav.tabBarItem.badgeValue = @"new";
                });
            }else{
                NSLog(@"111没有新版本不用更新提示");
            }
            
        }];
        //7.执行任务
        [dataTask resume];

 

posted on 2019-09-03 09:59  高彰  阅读(2699)  评论(0编辑  收藏  举报

导航