在Xcode 4中,我看到了我的目标摘要:
“Version”输入对应于info.plist文件中的CFBundleShortVersionString
,“Build”输入对应CFBundleVersion
。
这两者有什么区别?我看到互联网上有很多人想要为两者提供相同的价值,我怀疑这是为了向后兼容。
我有两个问题:
1)如果我从头开始,对您的应用进行版本控制的最佳做法是什么?
2)在我的应用的所有先前版本中,我只使用了CFBundleVersion
。为了不弄乱升级过程,我应该继续以{I}的方式继续增加CFBundleVersion
,还是可以切换到“正确的方式”,假设存在一个?
答案 0 :(得分:67)
Apple文档"Information Property List Key Reference"表示CFBundleShortVersionString
代表发布版本,而CFBundleVersion
代表任何版本,已发布或未发布。此外,CFBundleShortVersionString
可以本地化,但我不知道你为什么要这样做,因为他们说它应该是“由三个周期分隔的整数组成的字符串”。对于发布版本,使两个数字相同是合理的。对于开发构建,您可能会在CFBundleVersion
上添加其他内容,可能是另一个点和整数。
答案 1 :(得分:4)
关于JWWalker关于为什么要本地化CFBundleShortVersionString的问题,这将是小数点分隔符。例如,在小数点分隔符实际上是逗号的语言环境中,版本“1.5”将为“1,5”。
答案 2 :(得分:1)
快速修复:
只需将CFBundleShortVersionString
添加到plist文件并编辑您的版本。
InfoPlist.strings
{“CFBundleShortVersionString”=“1.1”;}
答案 3 :(得分:0)
请参阅有关上传二进制文件的Apple文档。
编号版本和版本: iTunes Connect会提取其预发行版本号和内部版本号 从二进制文件。预发布版本号是Xcode版本 number,或Info.plist中的“Bundle version string,short”键。 内部版本号是Xcode内部版本号,或“捆绑版本” Info.plist中的密钥。预发布版本号和内部版本号 将显示在“预发布”选项卡上,如“查看构建”中所述。