【问题标题】:CFBundleVersion: still getting error with validationCFBundleVersion:验证仍然出错
【发布时间】:2016-07-24 02:10:51
【问题描述】:

我知道对此有很多问题,但我仍然发现理解版本号如何工作的问题。

这是我在 Apple Store 上的应用更新日志:

  • 1.2 版
    • 构建 1.2.0
  • 1.1 版
    • 构建 1.1.1
    • 构建 1.1.0

现在我要上传一个提供错误修复的新更新版本(我们称之为 1.2.1)。如果我做错了什么,请告诉我。



步骤 1 - 在 Xcode 中设置值


第 2 步 - 在 iTunes Connect 中添加一个名为 1.2.1 的新版本


第 3 步 - 通过 Xcode 上传新版本


第 4 步 - 出现此错误

我真的无法弄清楚我错过了什么。我是否将 CFBundleShortVersionString 与 CFBundleVersion 混淆了?

【问题讨论】:

  • 我不是 100% 确定,但我认为 Build-Number 必须是整数
  • @FelixSFD 不正确。我对版本号和内部版本号都使用标准的 3 点版本号 x.y.z。工作得很好。
  • @rmaddy 这可能有效,但这是错误的。版本号和内部版本号是不同的东西。但是,这与问题无关,我认为错误消息解释得很好。
  • @trojanfoe 我想在 1.2 版本下面添加构建 1.2.1(查看我在问题开头写的架构)。这只是一点点变化,我不想将此版本签名为 1.3。也许我有点困惑
  • @trojanfoe 我知道这与问题没有直接关系,但菲利克斯的评论不正确。并且使用“x.y.z”版本号进行构建并没有错。 CFBundleVersion 的文档指出它必须是一个以句点分隔的列表,最多包含 3 个非负数。所以它可以是“x”、“x.y”或“x.y.z”。

标签: ios xcode build app-store-connect


【解决方案1】:

您已经有一个 1.2 版本的获批应用。

您的更新必须具有更高的版本号(以及更高的构建版本)。

您的新更新必须是 1.2.1 或 1.3 版(或实际上高于 1.2 的任何版本)。这就是错误告诉您的内容。

需要明确的是,Xcode 中 Info 选项卡上的“Version”字段必须更新为“1.2”以外的内容。在 Info.plist 中,这对应于 CFShortBundleVersion 键。

【讨论】:

  • 我认为您应该澄清需要对 CFBundleShortVersionString 进行更改,因为这是 iTunes 验证和抱怨的价值。
  • +1 这是正确的,版本实际上是一个字符串,但是仍然可以根据另一个版本字符串进行评估。例如 1.2.1 > 1.2 和 1.2a > 1.2
  • "approved app" 也许这就是我所缺少的。我过去成功上传了具有相同版本号但不同版本的应用程序。我该如何做到这一点?也许是因为那些版本没有被批准?
  • @user3582537 正确。一旦一个版本被批准,下一个更新必须有一个更高的版本号。它是用户看到的版本(不是构建)。
猜你喜欢
  • 1970-01-01
  • 2011-03-19
  • 2013-01-15
  • 2022-01-08
  • 2019-04-13
  • 2021-07-13
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多