iOS应用程序的版本/内部版本字段包括:
-
"Version"CFBundleShortVersionString(String-iOS,OS X)指定Bundle 包的发布版本号,它标识应用程序的已发布迭代.发布版本号是一个由三个周期分隔的整数组成的字符串.
-
"Build"CFBundleVersion(String-IOS,OS X)指定Bundle 包的内部版本号,该版本号标识Bundle 包的迭代(已发布或未发布).内部版本号应该是由三个非负的、以句点分隔的整数组成的字符串,其中第一个整数大于零.字符串应仅包含数字(0-9)和句点(.)人物.每个整数的前导零被截断并将被忽略(即1.02.3等同于1.2.3).此键不可本地化.
-
"iTunes Connect Version Number":在iTunes Connect上创建应用程序新版本时指定的版本号.
我的问题是:
当应用程序的新版本上传到iTunes Connect和/或发布到App Store时,哪个版本/内部版本号是required to be incremented?
在应用程序更新之间,"版本"CFBundleShortVersionString
或"构建"CFBundleVersion
能保持不变吗?
上传无效版本/内部版本号时,Apple sources或iTunesConnect会显示准确的错误消息的额外分数.
Android/Google Play注意事项:
引发这个问题的讨论是,Google Play Store中的Android应用程序的公共"版本"not确实需要增加,并在no way中进行了验证.android:versionName
可以在不同版本、升级、降级之间保持不变,也可以是任意随机字符串,而不是看起来有效的"版本号".
android:versionName
-一个字符串值,表示应用程序代码的发布版本,应该向用户显示.该值是一个字符串,因此您可以将应用程序版本描述为
<major>.<minor>.<point>
个字符串,or as any other type个绝对或相对版本标识符.
Difference between versionName and versionNumber in Android
而android:versionCode
被强制为释放时递增的整数.
Apple文档
正如在the newly accepted answer中指出的那样,苹果最近发布了一份技术说明,详细说明了他们的版本和内部版本号方案:
Apple Technical Note TN2420 - Version Numbers and Build Numbers