iOS版本更新判断

简介: 应用每开发一个新版本时,都可能会有新特性介绍页面。所以在应用里就要判断是不是新版本,并且能判断只有第一次进入应用时,才是新版本。//* 在delegate里判断*/ //1、 取出沙盒中存储的上次使用软件的版本号 NSString...

应用每开发一个新版本时,都可能会有新特性介绍页面。所以在应用里就要判断是不是新版本,并且能判断只有第一次进入应用时,才是新版本。

//*  在delegate里判断*/

    //1、 取出沙盒中存储的上次使用软件的版本号
    NSString *key = @"CFBundleShortVersionString";
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSString *lastVersion = [defaults stringForKey:key];
    
    // 2、获得当前软件的版本号
    NSString *currentVersion = [NSBundle mainBundle].infoDictionary[key];

    // 3、判断版本号
    if ([currentVersion isEqualToString:lastVersion])
    {// 旧版本
        
    }else{ // 新版本
      
        // 存储新版本
        [defaults setObject:currentVersion forKey:key];
    }

解释

1、CFBundleShortVersionString 标识应用程序的发布版本号

  • 该标志表示就是应用的版本号,一般是由三个整数分隔组成的字符串。第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。第二个整数表示的修订,实现较突出的特点。第三个整数代表维护版本。** 该键的值不同于“CFBundleVersion”标识**

2、CFBundleVersion 标识应用的内部版本号

  • 这个版本是内部自己团队使用的一个版本号,一般不对外公开。

3、区别

  • CFBundleShortVersionString对应Xcode里项目的Version
  • CFBundleVersion 对应Xcode里项目的Build
img_0656ba3711bc0cce46172528a410b73b.png
Version:1.3.1、Build:1.6

4、AppStore 发布

每发布一个新应用或新版本,苹果都要求你输入一个版本号,这个版本号对应的是 CFBundleShortVersionString ,不要写错哦。并且,如果你上传成功后(未审核,或未通过),然后又修复了bug,或改了功能,那么在打包发布时,CFBundleVersion 必须比上一版本更大。

  • 打个比方,我第一次上传的Version:1.5.1、Build:3.4.2 ,那我这个应用被拒绝,修复好后,我又打包上传时,Version还是1.5.1,但Build必须大于3.4.2,可以是3.4.3 、3.4.5、3.8.5等。 如果Version 1.5.1通过审核后,又发新版本,那个下次上传时,Version要大于1.5.1,但Build可以从新开始,比如1.1.0 。如果Version1.5.1又有问题,我又要上传修改后的应用时,Build必须大于上一个上传成功的Build,即要大于1.1.0。

5、如果还有什么不明白,可能给我留言哦

~nice

  • 如果有什么疑问,可以在评论区一起讨论;
  • 如果有什么不正确的地方,欢迎指导!


注:本文首发于 iHTCboy's blog,如若转载,请注明来源。

目录
相关文章
|
7月前
|
移动开发 开发工具 数据安全/隐私保护
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
|
移动开发 开发工具 数据安全/隐私保护
iOS APP版本更新升级教程:如何打包上架新的APP版本?
本篇博客将介绍如何快速、简便地完成APP更新升级流程,让你的用户享受到更好的使用体验。使用常用开发工具打包,注意版本号的修改。进入APP页面点击“所有构建版本”选项,这里会显示上传成功的构建版本。输入更新说明,修改APP描述、关键词等,选择是否为新功能。如审核通过则恭喜你,否则根据反馈修改再重新上传提交审核。
|
JavaScript 前端开发 Android开发
根据js来判断手机是操作系安卓还是ios
根据js来判断手机是操作系安卓还是ios
587 0
|
iOS开发
iOS开发 - 渐变导航条升级版(判断滚动的方向和改变方向时的位置)
iOS开发 - 渐变导航条升级版(判断滚动的方向和改变方向时的位置)
140 0
iOS开发 - 渐变导航条升级版(判断滚动的方向和改变方向时的位置)
|
iOS开发
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
280 0
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
|
iOS开发
iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向
iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向
902 0
|
数据安全/隐私保护 iOS开发
iOS逆向小技能:解锁无密码的设备、判断设备是否锁定、锁定设备、打开某个程序
介绍lua 函数: runApp、closeApp、getScreenSize、getDeviceID、lua_exit、isFrontApp。
255 0
|
iOS开发
IOS版本更新代码——商店版本
IOS版本更新代码——商店版本
161 0
|
iOS开发
IOS常用正则表达式判断
IOS常用正则表达式判断
101 0
|
JavaScript iOS开发
JS判断IOS系统版本
JS判断IOS系统版本
397 0