从 Darwin/XNU 个版本中提取 macOS 版本名称
Extract macOS release name from Darwin/XNU versions
是否有任何方程式可以从相应的 darwin 版本或 xnu 版本中获取 macOS 版本 (10.X)(每个版本没有预定义的 table)
例如,在 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
所以我推断达尔文版本中的主要编号在每个 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)
手表OS = (D - 13)
而且未成年人通常保持一致,除非如 pmdj 所述,有增量修复。
如果您想要确切的 MacOS(或 *OS 变体)的次要版本而不用猜测,它真正 "lives" 的唯一位置是 /System/Library/CoreServices/SystemVersion。列表。 ProductVersion 键(在 MacOS 中,ProductUserVisibleVersion 键是在 GUI 和其他地方报告的键。MacOS 版本号在 OS 中的任何地方都没有实际意义。
是否有任何方程式可以从相应的 darwin 版本或 xnu 版本中获取 macOS 版本 (10.X)(每个版本没有预定义的 table)
例如,在 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
所以我推断达尔文版本中的主要编号在每个 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) 手表OS = (D - 13)
而且未成年人通常保持一致,除非如 pmdj 所述,有增量修复。
如果您想要确切的 MacOS(或 *OS 变体)的次要版本而不用猜测,它真正 "lives" 的唯一位置是 /System/Library/CoreServices/SystemVersion。列表。 ProductVersion 键(在 MacOS 中,ProductUserVisibleVersion 键是在 GUI 和其他地方报告的键。MacOS 版本号在 OS 中的任何地方都没有实际意义。