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

通过一下方式,可以根据app的系统语言获取对语言版本信息
1.发起请求

//1、填写自己App的ID
    NSString *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)];
    }

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容