美文网首页
【iOS】比较版本号大小算法

【iOS】比较版本号大小算法

作者: Teun丶 | 来源:发表于2017-12-21 12:06 被阅读0次
    • 一句话代码搞定,复制即用,做的相对完善,不完善的地方希望大家砍我改正哈!
    • 当然你可以利用字符串截取法来计算,不过那样的比较法要确定版本号的位数
    • 特点:
      1.输入三段(例:1.2.7)或以上(例:2.33.1.23)都可以检测
      2.实现简单,计算量很小

    实现如下:

    /**
     比较本地版本和最新版本号的大小
    
     @param lastVersionStr 最新版本,例:1.0.7或者2.0.2.11
     @return 如果本地版本<最新版本,返回1,否则返回0
     */
    - (BOOL)compareLastVersion:(NSString *)lastVersionStr{
        //从info.plist文件获取Version
        NSString *version = [[[NSBundle mainBundle] infoDictionary]objectForKey:@"CFBundleShortVersionString"];
        //本地版本号
        NSInteger localVersion = [[version stringByReplacingOccurrencesOfString:@"." withString:@""] integerValue];
        //最新版本号
        NSInteger lastVersion = [[lastVersionStr stringByReplacingOccurrencesOfString:@"." withString:@""] integerValue];
        //处理版本号缩减为两位
        lastVersion = lastVersion<100?lastVersion*=10:lastVersion;
        
        return localVersion<lastVersion?1:0;
    }
    

    使用如下:

        //1.输入版本号 1.3.0
        BOOL result = [self compareLastVersion:@"1.3.0"];
        if (result == 1) {
            NSLog(@"检测有新版本,赶紧更新吧大爷!");
        }else{
            NSLog(@"还JB不升级");
        }
    

    注意点:尽量保持本地版本号和输入版本号段数一致

    相关文章

      网友评论

          本文标题:【iOS】比较版本号大小算法

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