Как получить версию системы OS X?

Как насчет:

tail +3 file

ИЛИ

awk 'NR>2' file

ИЛИ

sed '1,2d' file
14
задан Jake Petroules 7 September 2014 в 20:08
поделиться

4 ответа

Вы можете прочитать список свойств в "/System/Library/CoreServices/SystemVersion.plist" и извлечь ключ "ProductVersion". Вот как это делает установщик OS X. Вот пример :

NSString *versionString;
NSDictionary * sv = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"];
versionString = [sv objectForKey:@"ProductVersion"];

В качестве альтернативы команда swvers -productVersion сделает то же самое.

20
ответ дан 1 December 2019 в 06:00
поделиться

Также есть оболочка Cocoa для гештальт-вызовов, упомянутых другими в Google Toolbox для Mac: http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/GTMSystemVersion.h

0
ответ дан 1 December 2019 в 06:00
поделиться

Вы можете использовать гештальт:

SInt32 version = 0;
Gestalt( gestaltSystemVersion, &version );
BOOL leopard = ( version >= 0x1050 );

if ( leopard )
{
    //draw it this way
}
else
{
    //draw it that way
}

Имейте в виду, если вы проверяем, доступен метод или нет, лучше проверить это напрямую с помощью responsedsToSelector:.

11
ответ дан 1 December 2019 в 06:00
поделиться

Опять же, вы можете использовать гештальт. Посмотрите документацию для получения дополнительной информации; в частности, вы захотите передать константы gestaltSystemVersionMajor , gestaltSystemVersionMinor и gestaltSystemVersionBugFix в разделе «Диспетчер констант системной версии» справочного модуля Gestal711] документация

7
ответ дан 1 December 2019 в 06:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: