是否有任何公式可以从相应的darwin版本或xnu版本获取macOS版本(10.X)(每个版本没有预定义的表格)
例如,在macOS Mojave(10.14)中,我们有以下内容:
darwin version 18.0.0
xnu version 4903.200.249
在macOS high sierra(10.13),我们有:
10.13.3: xnu-4570.41.2 darwin version 17.4.0
10.13.2: xnu-4570.31.3 darwin version 17.3.0
10.13.1: xnu-4570.20.62 darwin version 17.2.0
10.13: xnu-4570.1.46 darwin version 17.0.0
所以我推断出Darwin版本中的主要编号在每个OS版本中都是唯一的:
..
16->10.12,
17->10.13,
18->10.14,
..
我的假设是否正确?
是的,这对主要版本号是正确的。即使macOS版本没有,次要版本有时会增加,反之亦然,如10.13.1的情况,其中darwin次要版本在安全版本中增加1,再次为10.13.1。
方程是正确的。要涵盖所有* OS变体,您可以使用:
设D =达尔文版
MacOS = 10.(D-4)TvOS = iOS =(D-6)WatchOS =(D-13)
并且未成年人通常会对齐,除非像上面提到的pmdj那样有修正的增量。
如果你想要精确的MacOS(或* OS变体)版本而没有猜测,那么它真正“生活”的唯一地方是/System/Library/CoreServices/SystemVersion.plist。 ProductVersion键(在MacOS中,ProductUserVisibleVersion键是在GUI和其他地方报告的键.MacOS版本号在操作系统的任何地方都没有实际意义。