XCode Build(CFBundleVersion)值是否曾被视为一个数字?

在回答https://stackoverflow.com/a/22109738/448734 ,狮子座说需要更高的内部版本号来强制更新。 有很多描述,如https://stackoverflow.com/questions/10091310/heres-how-to-auto-increment-the-build-number-in-xcode其中人们使用这个领域作为一个数字。

然而,这个字段实际上是一个string,在经验上,把“3.8.3 beta 4c”放在那里似乎没有问题。

所以我的问题是:这个领域是否被视为一个数字,并相比,以便一个被认为比另一个更高? 如果是这样,当string包含非数字字符或多个小数点时如何进行比较? 这在哪里logging?

string的值并不重要。 重要的是一个新的构build出现在iTunesConnect,所以AppStore。 我所说的“更高的编号”是通常人们所做的事情。 你可以从“5.6.1”到“1.0.561”,这将被视为一个新的构build。

关于一个脚本,你总是可以创build一个后期构build或预存档的脚本来执行一些逻辑来增加构build。 这是shell代码,你可以将string的任何部分转换为数字,增加它,然后再转换成string。