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

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)];}

相关文章:

  • 电能质量扰动信号信号通过hilbert变换得到瞬时频率
  • 第五部分:第一节 - Node.js 简介与环境:让 JavaScript 走进厨房
  • 如何优化MCU中断响应时间
  • 【AI面试秘籍】| 第7期:多轮对话如何实现长期记忆?高频考点解析+代码实战
  • 使用腾讯会议远程控制电脑进行操作电脑
  • C语言中的assert
  • 一种基于光源评估并加权平均的自动白平衡方法(二)
  • OpenCV中的光流估计方法详解
  • Kaamel隐私合规洞察:Facebook美容定向广告事件分析
  • 不用联网不用编程,PLC通过智能网关快速实现HTTP协议JSON格式与MES等系统平台双向数据通讯
  • 使用WebStorm打断点调试Vue项目
  • 2025-05-13 学习记录--Python-数据类型转换 + 运算符
  • 乙酰基六肽-39/Silusyne 新型减肥活性肽,减少脂肪堆积
  • 开源免费无广告专注PDF编辑、修复和管理工具 办公学术 救星工具
  • 【完全平方数包含相同数】2021-11-30
  • INFINI Console 纳管 Elasticsearch 9(一):指标监控、数据管理、DSL 语句执行
  • css iconfont图标样式修改,js 点击后更改样式
  • servlet-api
  • C++中的各式类型转换
  • vr视频制作攻略(VR视频制作基础知识)
  • 夜读丨读《汉书》一得
  • 财政部党组召开2025年巡视工作会议暨第一轮巡视动员部署会
  • 商务部就开展加强战略矿产出口全链条管控工作应询答记者问
  • 牛市早报|中方调整对美加征关税措施,五部门约谈外卖平台企业
  • “11+2”复式票,宝山购彩者领走大乐透1170万头奖
  • 中国恒大:清盘人向香港高等法院申请撤回股份转让