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