Как насчет:
tail +3 file
ИЛИ
awk 'NR>2' file
ИЛИ
sed '1,2d' file
Вы можете прочитать список свойств в "/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
сделает то же самое.
Также есть оболочка Cocoa для гештальт-вызовов, упомянутых другими в Google Toolbox для Mac: http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/GTMSystemVersion.h
Вы можете использовать гештальт:
SInt32 version = 0;
Gestalt( gestaltSystemVersion, &version );
BOOL leopard = ( version >= 0x1050 );
if ( leopard )
{
//draw it this way
}
else
{
//draw it that way
}
Имейте в виду, если вы проверяем, доступен метод или нет, лучше проверить это напрямую с помощью responsedsToSelector:.
Опять же, вы можете использовать гештальт. Посмотрите документацию для получения дополнительной информации; в частности, вы захотите передать константы gestaltSystemVersionMajor
, gestaltSystemVersionMinor
и gestaltSystemVersionBugFix
в разделе «Диспетчер констант системной версии» справочного модуля Gestal711] документация