如何以编程方式检测Mac OS X Server Edition?

时间:2010-04-15 12:32:45

标签: objective-c macos

有人知道任何可以帮助区分Mac OS X“服务器版本”和“桌面版”的API吗? 我的应用程序应该知道它当前运行的Mac OS X版本。 (服务器或桌面)

3 个答案:

答案 0 :(得分:6)

sw_vers似乎是通过检查/System/Library/CoreServices/ServerVersion.plist来做到的 - 你可能只是看看文件是否存在就可以了。

答案 1 :(得分:3)

如果您的应用程序需要知道这一点的真正原因,我建议检查是否存在可在桌面/服务器上产生差异的组件。例如,如果服务器版本附带程序或库foo而桌面版本没有,并且您想使用foo,那么请检查是否存在(和/或版本) foo而不是尝试从服务器与桌面操作系统推断它。

(与此同时,检查操作系统版本的一个可能的起点是命令sw_verssystem_profiler SPSoftwareDataType。)

答案 2 :(得分:1)

也许您可以使用sysctl APIGestalt

找到差异