Xcode版本(CFBundleShortVersionString)和build(CFBundleVersion)之间的区别
在Xcode 4中,我看到了我的目标总结:
“Version”input对应于info.plist文件中的CFBundleShortVersionString
,“Build”input对应于CFBundleVersion
。
这两者有什么区别? 我看到很多互联网上的人都希望把两者都置于同样的价值中,我怀疑是为了向后兼容。
我有两个问题:
1)如果我从头开始,版本化您的应用程序的最佳做法是什么?
2)在我的应用程序的所有以前的版本中,我只使用了CFBundleVersion
。 为了不搞乱升级过程,我应该继续像以前一样增加CFBundleVersion
,还是可以在假设存在的情况下切换到“正确的方式”?
Apple文档“Information Property List Key Reference”中提到CFBundleShortVersionString
表示发布版本,而CFBundleVersion
表示任何版本,是否发布。 而且, CFBundleShortVersionString
可以被本地化,但我不知道为什么你想要,因为他们说它应该是“一个由三个以句点分隔的整数组成的string”。 对于发布版本,使两个数字相同是合理的。 对于一个开发版本,你可能会去别的CFBundleVersion
,也许另一个点和整数。
对于JWWalker的问题,你为什么要本地化CFBundleShortVersionString,这将是小数点分隔符。 例如在小数点分隔符实际上是逗号的语言环境中,版本“1.5”将是“1,5”。
快速解决:
只需将CFBundleShortVersionString
添加到plist文件并编辑您的版本。
- 显示您的
InfoPlist.strings
- 突出显示并粘贴下面的代码(假设它在源代码模式下)
{“CFBundleShortVersionString”=“1.1”;}
- 将1.1更改为新的版本。
- build立并提交没有更多的错误!
有关上传二进制文件的信息,请参阅Apple文档。
编号版本和版本:iTunes Connect从二进制文件中提取其预发行版本号和版本号。 预发布版本号是Xcode版本号,或Info.plist中的“Bundle version string short”键。 内部版本号是Xcode内部版本号,或Info.plist中的“Bundle版本”键。 预发行版本号和内部版本号将显示在预发行标签上,如查看版本中所述。
上传应用程序的二进制文件