iOS 开发中经常看到 CFBundleShortVersionString 和 CFBundleVersion 两个都可以用来标识应 用版本号的变量, 究竟应该用哪个呢? 下面就一探究竟。
CFBundleShortVersionString
(String
- iOS, OS X) 表示 bundle 发布版本号, 标识应
用的一个发布迭代。 发布版本号是由三个用句点 .
分割的整数组成的字符串, 第一个数字是主版本
号,表示重要的功能或重大的更新, 第二个数字表示次要功能的更新,第三个数字表示维护更新,
具体规则也可以参考语义化版本。
这个值与表示应用构建迭代(包括发布与未发布)的 CFBundleVersion
的值不同, 并且这个值可以
被包含在 InfoPlist.strings
文件中进行本地化。
查看 CFBundleShortVersionString 的苹果开发者文档。
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
作为应用程序的版本号标识。