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   高彰  阅读(2746)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示