Wie kann ich mit Hilfe von AppleScript herausfinden, welche Version von OSX auf meinem Mac installiert ist? Ich möchte eine Anwendung programmatisch installieren und je nach Version verschiedene pkg-Dateien ausführen.
Gracias
Wie kann ich mit Hilfe von AppleScript herausfinden, welche Version von OSX auf meinem Mac installiert ist? Ich möchte eine Anwendung programmatisch installieren und je nach Version verschiedene pkg-Dateien ausführen.
Gracias
Sie können die Betriebssystemversion als Zeichenfolge anzeigen lassen:
set _versionString to system version of (system info)
Wenn Sie dies mit einer anderen Version vergleichen wollen, verwenden Sie bitte considering numeric strings
:
considering numeric strings
set _newEnough to _versionString "10.9"
end considering
Andernfalls kann es zu Problemen kommen, z. B. wenn "10.4.11" kleiner ist als "10.4.9" oder "10.10" kleiner ist als "10.9".
Sie können auch Folgendes verwenden system attribute
. Damit erhalten Sie die Versionsnummer als Ganzzahl, so dass Sie sich keine Gedanken über den Vergleich von durch Punkte getrennten Zeichenfolgen machen müssen:
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
Sie können auch Folgendes verwenden system attribute
um die einzelnen Versionskomponenten zu erhalten, ohne eine Zeichenkette parsen zu müssen:
set _major to system attribute "sys1" -- 10
set _minor to system attribute "sys2" -- 9
set _bugFix to system attribute "sys3" -- 0
Da ich keinen Mac verwende, gibt es vielleicht eine bessere Methode, aber der erste Ansatz, der mir einfällt, ist die Ausführung eines Shell-Befehls zur Abfrage der Betriebssystemversion.
http://developer.apple.com/technotes/tn2002/tn2065.html#TNTAG2
http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man1/sw_vers.1.html
Ausgehend von diesen Hinweisen möchten Sie wahrscheinlich etwas Ähnliches tun:
set os_version to do shell script "sw_vers -productVersion"
Das ist die perfekte Antwort! Verwendung von "sw_vers -buildVersion"
am Ende wird Ihnen auch die Build-Version angezeigt. Sehr hilfreich, wenn Sie detailliertere Informationen erhalten möchten. Auschecken dieser Kernpunkt um sie in voller Aktion zu sehen.
Ich bin nicht sehr vertraut mit AppleScript, aber AFAIK können Sie einige Informationen über Versionen von der Shell mit dem Befehl sw_vers erhalten. Zum Beispiel:
Macintosh:~ udekel$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.6
BuildVersion: 9G55
Wenn Sie das aus appleScript lesen und parsen können, könnte das eine Lösung sein, obwohl ich sicher bin, dass es etwas Eleganteres geben muss.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.