2017-04-08 4 views
0

Ich habe eine App in verschiedenen Mac OS Versionen - eine für el Capitan und höher und eine für alle Betriebssystemversionen darunter.Kann ich die Mac OS Version vom User Agent beziehen?

Benutzer (leider) nicht immer wissen, dass sie auf el Cap oder Sierra sind und Probleme haben, herauszufinden, es.

Auf meiner Download-Seite möchte ich ihnen (wenn möglich) zeigen, welche Version heruntergeladen werden soll und daher möchte ich die User Agent-Zeichenfolge dazu verwenden.

Es scheint, dass es Sätze wie "Intel Mac OS X 10_12_3" enthalten kann - ist das zuverlässig oder gibt es einen Standard dafür? Kann es nicht auf Apple.com finden. Und wenn es ist - aus welcher Form kann ich es bestimmen?

+0

https://www.whatismybrowser.com/developers/tools/user-agent-parser/browse/operating-system-name/mac-os-x-user-agents – Barmar

+0

danke - sah das, aber es ist sehr veraltet und nicht mehr gepflegt – user1914292

+0

Jeder Browser formatiert es anders, wie Sie aus der Tabelle auf dieser Website sehen können. – Barmar

Antwort

1

Ich schlage vor, Sie den regulären Ausdruck

/OS X 10[_.](\d+)/ 

Einige Browser die Teile des OS X-Release zu trennen verwenden _ passen, während andere . verwenden, und dies wird entweder Format entsprechen. Die Erfassungsgruppe enthält die OS X Major-Versionsnummer. Wenn es 11 oder höher ist, sollten sie die El Capitan-Version verwenden.

+0

danke - das klingt großartig - ich werde das überprüfen. Ich war mir nicht sicher, ob dieser Teil immer gesendet wird oder ob es verschiedene Versionen gibt (wie die. Und Unterstriche). – user1914292

+0

Sie können sich nicht immer auf den Benutzeragenten verlassen, da der Benutzer ihn spoofen kann. Aber wenn Sie mit naiven Benutzern zu tun haben und keine exotischen Browser verwenden, sollte es ziemlich zuverlässig sein. – Barmar

Verwandte Themen