美文网首页
iOS 提示用户版本升级

iOS 提示用户版本升级

作者: 无奈iOSer | 来源:发表于2017-03-10 16:09 被阅读69次
    现在苹果审核不能看到版本提示更新的字样以及功能,如果你的APP里面有这个功能还有字样,那么恭喜你,你会被拒绝的。但是“操蛋”的策划,还必须让我们实现,给他解释也解释不清楚,他就会说:“别人的怎么有,别人的怎么能通过审核”。听到这是不是有种想打人的冲动。好吧,废话扯得有点多了,还是言归正传吧。我给大家推荐两个思路。
    
    方法一:
    
    1.需要后台的配合,当您的APP还没上架的时候,后台给你返回的数据里面,是没有审核那个字段的。当你的APP上架的时候,让后台返回您的数据里面有这个字段。
    
    注意:这个方法是有个毛病的,如果升级改怎么办呢?升级的时候你的APP是上架状态啊。靠还是搞不定啊。
    
    解决方法:
    
    还是需要后台的配合,你可以发送请求的时候,把你当前的版本号,发送给后台,让后台去判断,该不该返回更新版本信息。(本人思想,能让后台做的,前台就不去搞)
    
    09465884-FEEF-42FB-B333-C72EA6CE2F72.png
    
    方法二:
    
    1.这个就不需要后台了,需要自己代码实现。现在后台都是比较牛逼的,所以只有自己去实现了。
    
    实现的思路:
    
    1.你要获取你在APP store上面的版本号和你程序的版本号进行比较下就OK了,小了就提示用户更新。直接看代码吧。
    
    /**获取程序的版本号*/
    
    NSString *version = [[[NSBundle mainBundle]infoDictionary] objectForKey:@"CFBundleVersion"];
    
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
    
    [mgr.responseSerializer setAcceptableContentTypes: [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil]];
    
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    
    //    dict[@"id"] = @"1073033949";//  上架的ID
    
    dict[@"id"] = App_ID;// 你程序的apple ID号
    
    [mgr POST:App_URL parameters:dict success:^(NSURLSessionDataTask * _Nonnull task, id  _Nonnull responseObject) {// App_URL http://itunes.apple.com/lookup
    
    NSArray *array = responseObject[@"results"];
    
    if (array.count != 0) {// 先判断返回的数据是否为空  没上架的时候是空的
    
    NSDictionary *dict = array[0];
    
    self.dictM = dict;
    
    [array writeToFile:App_URLPath atomically:YES];// 这是我保存到本来了  后面的功能要使用
    
    if ([dict[@"version"] floatValue] > [version floatValue]) {//判断版本大小了
    
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"更新" message:@"有新的版本更新,是否前往更新?" delegate:self cancelButtonTitle:@"关闭" otherButtonTitles:@"更新", nil] ;
    
    alert.delegate = self;
    
    [alert show];
    
    }
    
    }
    
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    
    }];
    
    注意:这个方法也是有个缺陷的,就是苹果返回的数据不能变,一变就不好办了。但是个人觉得,苹果更改的话,也会保留原有数据方法的,所以此担心可以忽略。但是该方法什么时候掉是个问题,是每次启动都要访问还是隔段时间访问,个人觉得一星期访问一次就可以了,如果有更新,就该提示用户了。
    

    相关文章

      网友评论

          本文标题:iOS 提示用户版本升级

          本文链接:https://www.haomeiwen.com/subject/sxqogttx.html