Xcode版本(CFBundleShortVersionString)和构建版本(CFBundleVersion)之间的区别

Phi*_*ton 93 xcode objective-c

应用目标摘要

在Xcode 4中,我看到了我的目标摘要:

"Version"输入对应CFBundleShortVersionString于info.plist文件,"Build"输入对应于CFBundleVersion.

这两者有什么区别?我看到互联网上有很多人想要为两者提供相同的价值,我怀疑这是为了向后兼容.

我有两个问题:

1)如果我从头开始,那么对应用程序进行版本控制的最佳做法是什么?

2)在我的应用程序的所有先前版本中,我只使用过CFBundleVersion.为了不搞乱升级过程,我应该继续以CFBundleVersion同样的方式增加,还是可以切换到"正确的方式",假设一个存在?

JWW*_*ker 67

Apple文档"信息属性列表密钥参考"表示CFBundleShortVersionString代表发布版本,而CFBundleVersion代表任何版本,已发布或未发布.此外,CFBundleShortVersionString可以本地化,但我不知道你为什么要这样做,因为他们说它应该是"由三个周期分隔的整数组成的字符串".对于发布版本,使两个数字相同是合理的.对于开发构建,您可能会在CFBundleVersion其他点和整数上添加其他内容.

  • nekno:实际上CFBundleVersion对Apple来说很重要.检查Apple在提交应用时提供的错误消息:"您上传的二进制文件无效.Info.plist文件中的密钥CFBundleVersion必须包含比以前上载的版本更高的版本." (16认同)
  • 一些国家使用现代阿拉伯语在西方世界使用的数字,如东方阿拉伯语(0,1,2,3,4,5,6,7,8,9)或希伯来语(א,ב,ג,ד,ה,ו,ז,ח,ט) - 这两个也是从右到左书写的.还有更多的其他数字系统(参见http://en.wikipedia.org/wiki/Category:Numerals)所以我的猜测就是Apple所说的"可本地化"的版本号. (10认同)