如何使用AppleScript查找Mac上安装的OSX版本?我想以编程方式安装应用程序,并根据版本运行不同的pkg文件.
谢谢
以下是如何使用内置函数在AppleScript中获取OSX版本:
set sysinfo to system info set osver to system version of sysinfo
在OS X Mavericks上,结果是"10.9".
一内胆: set osver to system version of (system info)
您可以使用以下命令将OS版本作为显示字符串获取:
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
我不是在Mac上,所以可能有更好的方法来实现这一点,但首先想到的方法是执行shell命令来查询操作系统版本.
http://developer.apple.com/technotes/tn2002/tn2065.html#TNTAG2
http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man1/sw_vers.1.html
根据这些参考资料,您可能希望执行以下操作:
set os_version to do shell script "sw_vers -productVersion"