提问者:小点点

在app Store发布时,哪些iOS应用版本/内部版本号必须增加?


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和/或发布到应用程序商店时,需要增加哪个版本/内部版本号?

    “Version”CFBundleShortVersionString或“Build”CFBundleVersion是否可以在应用程序更新期间保持不变?

    Apple源代码或iTunesConnect在上载无效版本号/内部版本号时显示的确切错误信息加分。

    引发这个问题的讨论是,Google Play商店中的Android应用程序的公开“版本”不需要增加,也没有任何验证。android:versionname可以在发布、升级、降级之间保持不变,或者是任何随机字符串,而不是看起来是有效的“版本号”。

    android:versionname-一个字符串值,表示应用程序代码的发行版本,因为它应该显示给用户。

    该值是一个字符串,以便您可以将应用程序版本描述为..字符串,或任何其他类型的绝对或相对版本标识符。

    Android中versionName和versionNumber之间的差异

    android:versioncode则被强制为一个发布时递增的整数。

    正如新接受的答案中所指出的,苹果最近公布了一份技术说明,详细说明了他们的版本和内部版本号方案:

    Apple技术说明TN2420-版本号和内部版本号


  • 共1个答案

    匿名用户

    Apple技术说明TN2420,版本号和内部版本号

    • 这对(版本内部版本号)必须唯一。
      • 序列有效:(1.0.1,12)->(1.0.1,13)->(1.0.2,13)->(1.0.2,14)...

      在向App Store提交新构建时,您可以检查以下一些内容。确保正确设置了版本号和内部版本号将有助于避免应用程序因配置不当而被自动拒绝。

      1. 对于你的应用程序的每一个新版本,你都需要发明一个新的版本号。这个数值应该大于您使用的上一个版本号。虽然您可以为应用程序的任何特定版本提供许多构建,但您只需要为应用程序的每个新版本使用一个新版本号。
      2. 不能重用版本号。
      3. 对于提交的每一个新生成,都需要创建一个新的生成号,其值大于上次使用的生成号(用于同一版本)。
      4. 可以在不同的发行版列中重用内部版本号,但不能在同一发行版列中重用内部版本号。对于macOS应用程序,您不能在任何版本系列中重用内部版本号。

      根据检查表,以下(版本,内部版本号)序列也是有效的。

      >

    • 案例:在不同的发布序列中重用内部版本号。(注:不是macOS app)

      (1.0.0,1)->(1.0.0,2)->...->(1.0.0,11)->(1.0.1,1)->(1.0.1,2)