【发布时间】:2014-02-03 04:45:19
【问题描述】:
iOS 应用的版本/构建字段包括:
-
"Version" CFBundleShortVersionString (String - iOS, OS X) 指定包的发布版本号,它标识了应用程序的发布迭代。发布版本号是一个由三个以句点分隔的整数组成的字符串。
-
"Build" CFBundleVersion(字符串 - iOS、OS X)指定包的构建版本号,它标识包的迭代(已发布或未发布)。构建版本号应该是由三个非负的、以句点分隔的整数组成的字符串,其中第一个整数大于零。该字符串应仅包含数字 (0-9) 和句点 (.) 字符。前导零会从每个整数中截断并被忽略(即 1.02.3 等价于 1.2.3)。此键不可本地化。
-
“iTunes Connect 版本号”:您在 iTunes Connect 上创建应用的新版本时指定的版本号。
我的问题是:
当应用的新版本上传到 iTunes Connect 和/或发布到 App Store 时,需要增加哪些版本/内部版本号?
“版本”CFBundleShortVersionString 或“内部版本”CFBundleVersion 能否在应用更新之间保持不变?
Apple 来源的加分项或 iTunesConnect 在上传无效版本/内部版本号时显示的确切错误消息。
Android / Google Play 注意:
引发此问题的讨论是,Google Play 商店中的 Android 应用程序的公共“版本”不需要需要增加,并且没有经过验证. android:versionName 可以在发布、升级、降级之间保持不变,或者是任何随机字符串,而不是看似有效的“版本号”。
android:versionName— 一个字符串值,代表应用程序代码的发布版本,应该向用户显示。该值是一个字符串,以便您可以将应用程序版本描述为
<major>.<minor>.<point>字符串,或任何其他类型的绝对或相对版本标识符。
Difference between versionName and versionNumber in Android
而 android:versionCode 被强制为释放时递增的整数。
苹果文档
正如the newly accepted answer 中所述,Apple 最近发布了一份技术说明,详细说明了他们的版本和内部版本号方案:
Apple Technical Note TN2420 - Version Numbers and Build Numbers
【问题讨论】:
标签: ios app-store app-store-connect mac-app-store