iOS应用的版本/构建字段包括:
"Version" CFBundleShortVersionString(String - iOS,OS X)指定捆绑包的发布版本号,该版本号标识应用程序的已发布迭代.发行版本号是由三个以句点分隔的整数组成的字符串.
"Build" CFBundleVersion(String - iOS,OS X)指定捆绑包的构建版本号,该版本号标识捆绑包的迭代(已发布或未发布).构建版本号应该是由三个非负的,周期分隔的整数组成的字符串,第一个整数大于零.该字符串应仅包含数字(0-9)和句点(.)字符.前导零从每个整数中截断,将被忽略(即1.02.3相当于1.2.3).此密钥不可本地化.
"iTunes Connect版本号":在iTunes Connect上创建应用程序的新版本时指定的版本号.
我的问题是:
当新版本的应用程序上传到iTunes Connect和/或发布到App Store时,需要增加哪些版本/内部版本号?
应用更新之间的"版本" CFBundleShortVersionString或"构建"可以CFBundleVersion保持不变吗?
Apple来源的额外积分或iTunesConnect在上传无效版本/内部版本号时显示的确切错误消息.
促使这个问题的讨论是,在谷歌Android应用的大众"版本" Play商店并没有需要递增,是没有办法验证.该android:versionName可不同版本之间保持不变,升级,降级,或者是任何随机字符串,而不是东西,似乎是一个有效的"版本号".
android:versionName- 表示应用程序代码的发行版本的字符串值,因为它应显示给用户.该值是一个字符串,以便您可以将应用程序版本描述为
<major>.<minor>.<point>字符串,或任何其他类型的绝对或相对版本标识符.
Android中versionName和versionNumber之间的区别
而android:versionCode强制执行是一个递增的释放整数.
正如新接受的回答中所述,Apple最近发布了一份技术说明,详细说明了他们的版本和内部版本号:
我正在尝试使用Application Loader在App Store上传应用程序的更新.我收到以下错误.
ERROR ITMS-90062: "This bundle is invalid. The value for key CFBundleShortVersionString [1.0.0] in the Info.plist file must contain a higher version than that of the previously approved version [1.0.0]."
Run Code Online (Sandbox Code Playgroud)
我认为CFBundleShortVersionString被允许保持不变,但是构建号(或"Bundle Version/CFBundleVersion")应该在每个构建时递增.
这是因为版本标签(CFBundleShortVersionString)必须在每个批准的版本上递增吗?意思是错误修复了更新,以及如何突破App Store中显示的版本标签?
问候