我们将把我们的应用程序的新版本上传到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 参数吗?
感谢您的回答。
答案 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
示例: