原文地址: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. Flask中的重定向redirect和url_for
  2. 自考之——我看《软件开发工具》
  3. 零基础python从入门到精通 pdf-跟老齐学Python从入门到精通.pdf
  4. Android SQLite调试
  5. STM32 基础系列教程 2 - GPIO 按键输入
  6. 剑指Offer #08 跳台阶(递推)
  7. php 文件扫描去重,PHP中的去重方法详解和文件下载
  8. trinitycore MySQL模块_Windows下编译TrinityCore服务端
  9. 【MapBox】5种地图(底图)样式自由切换附源码
  10. 鸿蒙系统对手机性能的提升,鸿蒙OS手机版再爆新特性,流畅度和性能大幅提升,用户评价很高...
  11. qt 线程接收线程 moveToThread 特性
  12. [转载] python开源人工智能项目_推荐 10 个饱受好评且功能独特的开源人工智能项目
  13. vue cli3 搭建项目 使用vue-router 以及 element-ui
  14. 【Java笔记】Java开发实战经典 - 第六章
  15. 软件工程专业要学什么课程?
  16. Python贴吧小爬虫
  17. Reflex WMS入门系列三十:不使用RF功能做上架
  18. windows10怎么卸载计算机,Win10怎么卸载声卡驱动?电脑声卡驱动怎么卸载?
  19. 天翎myAppsSetup_V4.4.sp10系统结构图
  20. 故宫景点功课10:后三宫区(中)

热门文章

  1. Python txt文件创建,写入,保存
  2. Vbs脚本编程简明教程之一
  3. 上海市补足政策短板,区块链将列入“十四五”规划
  4. 欧框语言框架标准C2,CEFR欧标语言等级框架到底是什么?
  5. VM虚拟机安装Redhat7,找不到网卡及磁盘。
  6. mybatis基本操作流程
  7. 1.python学习工具与环境安装
  8. 企业微信回调接口开发
  9. 编译原理--正则文法与正则表达式
  10. 如何快速的进行CAD创建图层并给进行样式更改?