如何检查是否在Lion或Snow Leopard上运行

Ama*_*der 6 macos cocoa objective-c osx-lion

在我的Cocoa应用程序中,我想让用户在Lion上全屏显示应用程序.为此,我想添加以下内容:

if (check for lion or above) {
    [mywindow setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary];
}
Run Code Online (Sandbox Code Playgroud)

我有条件地为Lion添加这个,因为NSWindowCollectionBehaviorFullScreenPrimary只能从10.7开始.狮子座以上检查的最佳方法是什么?

Mac*_*ade 7

您应该阅读有关该Gestalt功能的文档.

SInt32 MacVersion;

if( Gestalt( gestaltSystemVersion, &MacVersion ) == noErr )
{
    if( MacVersion == 0x1050 ) /* Mac OS X 10.5.0 */
    {}
    else
    {}
}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用SysCTL API

  • 绝对将`Gestalt()`调用分为三个调用major,minor和bugfix版本! (3认同)