当前位置: 首页 > java >正文

iOS - 如何从appStore获取app版本信息

  • 通过一下方式,可以根据app的系统语言获取对语言版本信息
  • 1.发起请求
  • //1、填写自己App的IDNSString *appUrl = [[NSString alloc] initWithFormat:@"https://itunes.apple.com/lookup?id=12345678"];NSString *language = [HYLanguageManager currentLanguage];if ([language containsString:@"zh-Hans"] || [language containsString:@"zh_CN"]) {appUrl = @"https://itunes.apple.com/search?term=app名称&country=cn&entity=software";}if ([language containsString:@"ko"]) {appUrl = @"https://itunes.apple.com/search?term=app名称&country=kr&entity=software";}if ([language containsString:@"ja"]) {appUrl = @"https://itunes.apple.com/search?term=app名称&country=jp&entity=software";}if ([language containsString:@"zh-Hant"] || [language containsString:@"zh_TW"]) {appUrl = @"https://itunes.apple.com/search?term=app名称&country=tw&entity=software";}appUrl = [appUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];NSURLSession *session = [NSURLSession sharedSession];NSURL *url = [NSURL URLWithString:appUrl];//2.创建可变的请求对象NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];request.HTTPMethod = @"POST";
    //request.HTTPBody = [[NSString stringWithFormat:@"id=%@",@"12345678"] dataUsingEncoding:NSUTF8StringEncoding];NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error){//4.解析数据if(data){NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];NSArray *results = dict[@"results"];NSDictionary *appStoreInfo = results.firstObject;[HYMineSetManager shareManager].appStoreInfo = appStoreInfo;dispatch_async(dispatch_get_main_queue(), ^{//5.更新提示if([HYMineSetManager shareManager].isAutoUpdate){[HYMineSetManager checkAppVersion:YES];}});}}];//3.执行任务[dataTask resume];
  • 2.解析数据
  • NSDictionary *appStoreInfo = [HYMineSetManager shareManager].appStoreInfo;NSString *lineVersion = appStoreInfo[@"version"];//版本号NSLog(@"App store版本号:%@",lineVersion);//5、获取本地版本NSString *app_Version = [CommUtls getSoftShowVersion];;//6、比较版本信息lineVersion = [lineVersion stringByReplacingOccurrencesOfString:@"." withString:@""];app_Version = [app_Version stringByReplacingOccurrencesOfString:@"." withString:@""];if ([lineVersion integerValue] > [app_Version integerValue]) {NSString *releaseNotes = appStoreInfo[@"releaseNotes"];//更新说明NSString *trackViewUrl = appStoreInfo[@"trackViewUrl"];//链接NSLog(@"更新说明:%@",releaseNotes);NSLog(@"App下载链接:%@",trackViewUrl);@weakify(self);[HYAlertActionView showViewControler:[CommUtls getCurrentVC]title:NSLocalizedString(@"新版本上线啦",nil)message:releaseNotes?:NSLocalizedString(@"app上新功能了,快去更新体验吧!",nil)actionTitle:isAuto?@[NSLocalizedString(@"立刻更新",nil),NSLocalizedString(@"不再提醒", nil)]:@[NSLocalizedString(@"立刻更新",nil)]sureBlock:^{@strongify(self);[self updateVersionWithTrackViewUrl:trackViewUrl];}cancelBlock:^{[HYMineSetManager shareManager].isAutoUpdate = NO;}];}else if(!isAuto){[HYHub showMessage:NSLocalizedString(@"当前已是最新版本",nil)];}

http://www.xdnf.cn/news/5898.html

相关文章:

  • 各类芒果(果实、叶片、产量等)相关数据集
  • Python爬虫实战:研究JavaScript 环境补全逆向解密
  • SQLMesh信号机制详解:如何精准控制模型评估时机
  • CSS可以继承的样式汇总
  • 【言语】刷题3
  • 串口模块详细讲解
  • IO、存储、硬盘、文件系统相关常识
  • 【Bluedroid】蓝牙 HID DEVICE 初始化流程源码解析
  • 十天学会嵌入式技术之51单片机—day-9
  • 【技巧】使用UV创建python项目的开发环境
  • 面试篇:Spring Security
  • C语言—再学习(数据的存储类别)
  • C++ 字符格式化输出
  • python学习笔记七(文件)
  • 分布式链路跟踪
  • lubuntu 系统详解
  • WebpackVite总结篇与进阶
  • Java SpringMVC 和 MyBatis 整合项目的事务管理配置详解
  • DeepSeek 赋能汽车全生态:从产品到服务的智能化跃迁
  • 2025年5月13日第一轮
  • vue3父子组件传值
  • 数据治理域——日志数据采集设计
  • c++STL-list的模拟实现
  • conda 输出指定python环境的库 输出为 yaml文件
  • K230 ISP:一种新的白平衡标定方法
  • AcroForm 格式化文本(域)字段
  • ElasticSearch父子关系数据建模
  • MySQL命令行导出数据(docker版本)
  • 运行Spark程序-在shell中运行1
  • 智源联合南开大学开源Chinese-LiPS中文多模态语音识别数据集