美文网首页
APP版本更新判断小记

APP版本更新判断小记

作者: Counting_S | 来源:发表于2017-02-09 14:41 被阅读51次

昨晚在家发版APP的时候遇到了一个小bug,在这里记录一下。

场景还原:
昨晚在家更新了app新的版本: 2.1.10,然后运行的时候居然提示了有新的版本可供下载,看了一眼release note,发现这个release note是2.1.9版本的。代码如下:

NSString *url = S(@"http://itunes.apple.com/cn/lookup?id=%@", kAppstoreID);
        
[sessionManager GET:url parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
    NSError *error;
    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:&error];
    if (json) {
        NSArray *array = [json objectForKey:@"results"];
        if (array.count > 0) {
            NSDictionary *dict = [array objectAtIndex :0];
            NSString *itunesVersion = [array objectAtIndexSafely:0][@"version"];
            NSString *strVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
            CGFloat version = [block_self floatValueFromItunesAppVersionString:strVersion];
                    
            if ([block_self floatValueFromItunesAppVersionString:itunesVersion] > version){
                block_self.appstoreUrl = [array objectAtIndexSafely:0][@"trackViewUrl"];
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"亲,又有新版本了,去看看吧"
                                                                message:dict[@"releaseNotes"]
                                                               delegate:block_self
                                                      cancelButtonTitle:@"立刻升级"
                                                      otherButtonTitles:@"取消", nil];
                [alert show];
            }
        }
    }
} failure:^(NSURLSessionDataTask *task, NSError *error) {
            
}];

这里的请求用的是itunes自带的请求,返回的信息中包括APP的基本信息,大小,分类,版本信息等,这里正是获得版本号,然后与本地info.plist中的CFBundleShortVersionString进行比较,如果当前info.plist中的版本较低则提醒用户更新。

错误原因:
错误原因也很简单,这里比较两个字符串方式存在问题,使得"2.1.9" 大于了 "2.1.10",因此重新处理一下比较函数即可。

相关文章

  • APP版本更新判断小记

    昨晚在家发版APP的时候遇到了一个小bug,在这里记录一下。 场景还原:昨晚在家更新了app新的版本: 2.1.1...

  • iOS开发app版本更新判断

    通过接口http://itunes.apple.com/cn/lookup?id=appid可以查询到在AppSt...

  • 判断APP系统版本和更新的版本

    需求来源: 在APP迭代更新过程中,有这样的需求,需要比较版本号的大小,然后弹出提示框提示更新. 之前版本号一直是...

  • 【版本更新】iOS自动跳转到App Store方法

    以下写法不完整 更新版本号判断方法 考虑到上架更新版本时间不固定,有可能出现App上架而后台请求的版本号还未更新,...

  • Vip视频解析助手(更新)

    判断版本〈2〉判断版本 更新内容【添加新功能,修复以前存在的Bug,更新UI更清新。详情请更新后自行体验! 更新时...

  • app版本更新

    转自:https://blog.csdn.net/qq_34963282/article/details/7923...

  • App 版本更新

    App更新流程:检查更新==>提示更新==>下载apk==>安装新版App 检查更新:根据不同的业务和后台逻辑实现...

  • app版本更新

    实战版本更新(okhttp3、service、notification) https://github.com/c...

  • APP版本更新

    原文链接1原文链接2 iOS程序自动提示更新的实现方案大致分为两种: 第一种,自己服务器提供一个接口,告知相关ap...

  • APP版本更新

    因为项目中间时间允许,抽时间做了一下app新版本迭代.下面贴一下代码供大家参考,要是感觉还可以请给我一颗鼓励的小星...

网友评论

      本文标题:APP版本更新判断小记

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