iOS应用程序的版本/构建字段包括:
"Version"(String-iOS、OS X)CFBundleShortVersionString 指定捆绑包的发布版本号,该版本号标识应用程序的发布迭代。发行版本号是由三个点分隔的整数字符串组成。
"Build"(String-iOS、OS X)CFBundleVersion 指定捆绑包的构建版本号,该版本号标识捆绑包的迭代(已发布或未发布)。构建版本号应由三个非负、点分隔的整数字符串组成,第一个整数应大于零。该字符串只应包含数字(0-9)和句点(.)字符。每个整数的前导零将被截断并忽略(即,1.02.3等同于1.2.3)。此密钥不可本地化。
"iTunes Connect版本号":创建新版本时在iTunes Connect中指定的版本号。
我的问题是:
在将新版本的应用程序上传到iTunes Connect并/或发布到App Store时,哪些版本/构建号需要递增?
“版本”CFBundleShortVersionString
或“构建”CFBundleVersion
中可以保持不变吗?
如果有苹果源或iTunes Connect上传无效版本/构建号时显示的确切错误消息,则额外得分。
Android / Google Play注意事项:
引发此问题的讨论是,在Google Play商店中,Android应用程序的公共“版本”android:versionName
不需要递增,并且以任何方式也未经过验证。可以在发布、升级、降级或任意随机字符串之间保持android:versionName
相同。
android:versionName
— 一个字符串值,代表应用程序代码的发布版本,应该展示给用户。
这个值是一个字符串,可以使用 <major>.<minor>.<point>
字符串,或者使用任何其他类型 的绝对或相对版本标识来描述应用程序版本。
Android 中 versionName 和 versionNumber 的区别
而 android:versionCode
则被强制规定为递增的整数。
苹果文档
正如最新接受的答案中所指出的,苹果最近发表了一篇技术说明文档,详细介绍了他们的版本和构建号方案: