iOS App Store捆绑版本比较规则

时间:2014-12-10 16:20:33

标签: ios app-store uploading

我们将把我们的应用程序的新版本上传到iOS App Store。

对于previos版本 CFBundleShortVersionString 为“1.9.2”且 CFBundleVersion 为“1.92.0”。对于当前版本,我们将使用 CFBundleShortVersionString :“1.10”和 CFBundleVersion :“1.100.0”。

但我们担心如果App Store不会将我们的1.10版本检测为新版本。它不会被认为比CFBundleVersion的旧版本更早:“1.92.0”。

换句话说, CFBundleVersion :“1.100.0”会高于 CFBundleVersion :“1.92.0”?

有人知道Apple如何比较上传版本的 CFBundleVersion 参数吗?

感谢您的回答。

1 个答案:

答案 0 :(得分:2)

是的,1.100.0是> 1.92.0。 Apple使用语义版本控制。

从左到右,只要没有数字小于新数字,你就是好的。

对于您的示例,检查是按照(伪):

的方式进行的
var oldVersionSems = "1.92.0".split(".")
var newVersionSems = "1.100.0".split(".")
var maxIndex = MIN(oldVersionSems.length, newVersionSems.length)
var isNewer = false
for (int i = 0; i < maxIndex, i++) {
    isNewer = newVersionSems[i] > oldVersionSems[i].toInt()
    if (isNewer) break
}

语义版本控制的良好资源是http://semver.org

示例:

  • 2.0.0&gt; 1.100.0
  • 1.20.0&lt; 1.100.0
  • 1.1.0&gt; 1.0.500
  • 1.92.0&lt; 1.100.0