zoukankan      html  css  js  c++  java
  • 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];

    }

  • 相关阅读:
    箭头函数和普通函数的区别是什么?
    前端如何优化网站性能?
    instanceof原理
    call、apply区别
    函数的节流和防抖
    关于this的指向性问题
    undefined 和null的区别?
    浅谈堆和栈的理解?
    关于vue中watch和computed
    简单说一下什么是回流和重绘
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/iOS_Update_Version.html
Copyright © 2011-2022 走看看