原文地址:iOS 中的 CFBundleShortVersionString 与 CFBundleVersion

iOS 开发中经常看到 CFBundleShortVersionString 和 CFBundleVersion 两个都可以用来标识应 用版本号的变量, 究竟应该用哪个呢? 下面就一探究竟。

CFBundleShortVersionString

CFBundleShortVersionString (String - iOS, OS X) 表示 bundle 发布版本号, 标识应 用的一个发布迭代。 发布版本号是由三个用句点 . 分割的整数组成的字符串, 第一个数字是主版本 号,表示重要的功能或重大的更新, 第二个数字表示次要功能的更新,第三个数字表示维护更新, 具体规则也可以参考语义化版本。

这个值与表示应用构建迭代(包括发布与未发布)的 CFBundleVersion 的值不同, 并且这个值可以 被包含在 InfoPlist.strings文件中进行本地化。

查看 CFBundleShortVersionString 的苹果开发者文档。

CFBundleVersion

CFBundleVersion (String - iOS, OS X) 表示 bundle 构建迭代的版本号(发布与未发布), 命名规则与 CFBundleShortVersionString 相同, 并且只能包含数字 (0-9) 和 句点 (.) , 整数开头部分的 0 会被忽略,比如: 1.02.3 与 1.2.3 相同。 这个值不能被本地化。

查看 CFBundleVersion 的苹果开发者文档。

这两个值的对比如下:

Key  Xcode name  Summary 
CFBundleShortVersionString Bundle versions string, short (Localizable) The release-version-number string for the bundle
CFBundleVersion Bundle version  (Recommended) The build-version-number string for the bundle 

简单来说, CFBundleShortVersionString 标识 bundle 的版本号字符串, 并且可以被本地化, 而 CFBundleVersion 表示构建版本号, 因此推荐使用 CFBundleVersion 作为应用程序的版本号标识。

iOS 中的 CFBundleShortVersionString 与 CFBundleVersion相关推荐

  1. iphone smtp服务器没有响应,电子邮件卡在iPhone或iPad上的发件箱?如何修复iOS中的未发送邮件 | MOS86...

    您曾经在iOS中发送电子邮件,只能将信息卡在iPhone,iPad或iPod touch的邮件应用发件箱中?你知道这是什么时候发生的,因为在iOS的Mail应用程序的底部,状态栏在iOS中显示1个未发 ...

  2. mui ios中form表单中点击输入框头部导航栏被推起及ios中form表单中同时存在日期选择及输入框时,日历选择页面错乱bug...

    一.ios header导航栏被推起解决方法 1 设置弹出软键盘时自动改变webview的高度 plus.webview.currentWebview().setStyle({ softinputMo ...

  3. iOS中UISearchBar(搜索框)使用总结

    2019独角兽企业重金招聘Python工程师标准>>> iOS中UISearchBar(搜索框)使用总结 初始化:UISearchBar继承于UIView,我们可以像创建View那样 ...

  4. iOS中几种数据持久化方案总结

    概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) ...

  5. iOS中关于NSTimer使用知多少

    看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用,不就是一个能够定时的完成任务的东西吗? 我想说你知道NSTimer会retain你添加调用方法的对象吗?你知道NSTimer是要加到ru ...

  6. iOS中JS 与OC的交互(JavaScriptCore.framework)

    iOS中实现js与oc的交互,目前网上也有不少流行的开源解决方案: 如:react native 当然一些轻量级的任务使用系统提供的UIWebView 以及JavaScriptCore.framewo ...

  7. 在iOS中使用tableView

    为什么80%的码农都做不了架构师?>>>    UITableView是iOS中最常用的控件了,所以使用起来也很简单. ViewContoller.h 文件 (继承UITableVi ...

  8. 关于ios中编译ffmpeg0.9.2库

    很多朋友在问如何在ios中编译ffmpeg库,虽说网上的教程很多,但是大部分都说按其操作,最后编译总是不成功,正好我最近的项目要用到ffmpeg,所以就再次编译了,同时在这里记下,方便需要参考的朋友. ...

  9. iOS中引用计数内存管理机制分析

    在 iOS 中引用计数是内存的管理方式,虽然在 iOS5 版本中,已经支持了自动引用计数管理模式,但理解它的运行方式有助于我们了解程序的运行原理,有助于 debug 程序. 操作系统的内存管理分成堆和 ...

最新文章

  1. 第一次使用51cto博客
  2. prefetch下载SRA 数据
  3. 隐私全无!错发1700多条Alexa录音,上报后亚马逊淡定回应是“个人错误”
  4. [Scheduled Timer]第三回:事件存储(EventStorage)
  5. 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )
  6. “设为桌面图标”的ASP源代码
  7. FIO工具测试延迟、带宽、IOPS
  8. 【最短路】【SPFA】电车 (luogu 1346)
  9. 小程序 bindtouchmove 使用拖动按钮 页面跟着滑动并拖动卡顿感 问题
  10. docker中使用postgresql
  11. 较老版本 AFNetworking 使用心得
  12. Linux——常用命令
  13. 用R语言实现信息度量
  14. 使用Mybatis实例
  15. 微软操作系统 Windows Server 2012 R2 官方原版镜像-转载
  16. 新手如果写一个软件,应该是怎么一个流程?
  17. java8 peek
  18. 电脑桌面快捷方式更换图片
  19. 厦大C在线实验题3 分数约简
  20. 麻省理工学院的学生们愚弄了谷歌图像识别技术,计算机视觉算法仍然很容易被骗

热门文章

  1. 通过DEBUG宏定义管理debug模式和release模式
  2. 嵌入式arm linux产品,基于ARM——Linux的嵌入式产品平台构建
  3. Simulink 永磁同步电机三电平逆变器IGBT开关管故障研究
  4. Xshell,xftp安装部署流程保姆级教学
  5. 【python】基于Socket的聊天室Python开发
  6. Apache Spark机器学习
  7. pytest文档47-allure报告添加用例失败截图
  8. 在windows下IIS管理器,网站报401.2错误解决办法
  9. 【转载】从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (二)
  10. 谷粒学院16万字笔记+1600张配图(十八)——统计分析