CFBundleVersion与CFBundleShortVer
简单来说, CFBundleShortVersionString 标识 bundle 的版本号字符串, 并且可以被本地化, 而 CFBundleVersion 表示构建版本号, 因此推荐使用CFBundleVersion作为应用程序的版本号标识。
CFBundleVersion:
CFBundleVersion(String- iOS, OS X) 表示 bundle 构建迭代的版本号(发布与未发布), 命名规则与CFBundleShortVersionString相同, 并且只能包含数字 (0-9) 和 句点 (.) , 整数开头部分的0会被忽略,比如:1.02.3与1.2.3相同。 这个值不能被本地化。
查看CFBundleVersion的苹果开发者文档。
CFBundleShortVersionString:
CFBundleShortVersionString(String- iOS, OS X) 表示 bundle 发布版本号, 标识应 用的一个发布迭代。 发布版本号是由三个用句点.分割的整数组成的字符串, 第一个数字是主版本 号,表示重要的功能或重大的更新, 第二个数字表示次要功能的更新,第三个数字表示维护更新, 具体规则也可以参考语义化版本。
这个值与表示应用构建迭代(包括发布与未发布)的CFBundleVersion的值不同, 并且这个值可以 被包含在InfoPlist.strings文件中进行本地化。
查看CFBundleShortVersionString的苹果开发者文档。
这两个值的对比如下:
KeyXcode name Summary
CFBundleShortVersionString Bundle versions string, short (Localizable)The release-version-number string for the bundle
CFBundleVersionBundle version (Recommended)The build-version-number string for the bundle