App版本升级相关

版本升级描述:两种方式

第一种:不需要服务端

客户端直接从iTunes里面获取最新版本与本地版本比较,

若大于本地版本,则升级;若小于或等于则不升级

第二种:需要服务端交互

每次提交版本/升级前把本地提交给服务端;由服务端控制是否更新:

服务端把最新版本号发给客户端,以及升级的详细信息,升级状态:强制升级、普通升级、已经是最新版本,不需要升级。

 

//获取本地版本

    NSDictionary *appInfoDic = [[NSBundle mainBundle]infoDictionary];

    NSString *appVersion = appInfoDic[@"CFBundleShortVersionString"];

    DEF_DEBUG(@"%@",appVersion);

#pragma mark -appstore最新版本号//url中id换成 你们的应用id就行了

- (void)getLatestVersion

{

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://itunes.apple.com/lookup?id=1144308491"]];

    NSURLSession *session = [NSURLSession sharedSession];

    NSURLSessionTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

        if (error) {

            DEF_DEBUG(@"%@",error.localizedDescription);

        }

        

        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

        DEF_DEBUG(@"%@",dic);

        NSString *currentVersion = dic[@"results"][0][@"version"];

 

//        onlineVersionStr = currentVersion;

//        updateDetail = dic[@"results"][0][@"releaseNotes"];

    }];

    [dataTask resume];

}

原文地址:https://www.cnblogs.com/StevenHuSir/p/iOS_Update_Version.html