Вы можете получить версию ОС в виде строки дисплея, используя:
set _versionString to system version of (system info)
Если вы хотите сравнить это с другой версией, обязательно используйте considering numeric strings
:
considering numeric strings
set _newEnough to _versionString ≥ "10.9"
end considering
В противном случае вы можете столкнуться с такими проблемами, как «10.4.11» меньше 10.4.9 или «10.10» меньше 10.9.
Вы также можете использовать system attribute
. Это позволяет получить номер версии в виде целого числа, поэтому вам не нужно беспокоиться о сравнении строк, разделенных точками:
set _versionInteger to system attribute "sysv" -- 4240 == 0x1090 (Mac OS X 10.9)
set _isMavericksOrBetter to (system attribute "sysv") ≥ 4240 -- 0x1090
set _isMountainLionOrBetter to (system attribute "sysv") ≥ 4224 -- 0x1080
set _isLionOrBetter to (system attribute "sysv") ≥ 4208 -- 0x1070
Вы также можете использовать system attribute
, чтобы получить отдельные компоненты версии без разбора строки:
set _major to system attribute "sys1" -- 10
set _minor to system attribute "sys2" -- 9
set _bugFix to system attribute "sys3" -- 0