【发布时间】:2020-10-30 18:13:54
【问题描述】:
我正在使用以下代码在运行时检查 OS X 版本。
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_10)
{
/* On a 10.10.x or earlier system */
}
但是这个条件在 10.10.4 OS X 上返回 false。我使用的是 Xcode 6.3.2。
根据AppKit Release Notes for OS X v10.11,它应该可以工作。
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_9) {
/* On a 10.9.x or earlier system */
} else if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_10) {
/* On a 10.10 - 10.10.x system */
} else {
/* 10.11 or later system */
}
【问题讨论】:
-
如果你打开
NSApplication.h,你看到NSAppKitVersionNumber10_10在那里定义了吗? -
是的。我附上了截图。
-
false是正确的:在 10.10.4floor(NSAppKitVersionNumber)= 1348 不 等于或小于NSAppKitVersionNumber10_10= 1343 -
@vadian 根据 OS X v10.11 的 AppKit 发行说明,它应该可以工作。
标签: objective-c macos cocoa nsapplication osx-elcapitan