In früheren iOS-Versionen habe ich NSFoundationVersionNumber
verwendet, um die iOS-Version zu erkennen:
Nun würde ich das gleiche für iOS 11 tun, aber ich konnte das korrekte NSFoundationVersionNumber
nicht finden. Die Dokumente zeigen NSFoundationVersionNumber_iOS_9_x_Max
als die neuesten an.
Also, wie ist das korrekte NSFoundationVersionNumber
zu erkennen, wenn iOS 11 verwendet wird?
Wenn Sie Xcode 9 oder höher verwenden, können Sie das Attribut @available
verwenden:
In Swift ist das gleich, aber #available
anstelle von @available
geschrieben.
Der Grund dafür, dass dies eine bessere Methode als die anderen Methoden ist, besteht darin, dass der Compiler davon Kenntnis hat und Verfügbarkeitswarnungen entsprechend unterdrückt. Im obigen Beispiel können Sie APIs verwenden, die in iOS 11.0 im Block if
eingeführt wurden, ohne dass Sie gewarnt wurden, dass diese APIs für das Implementierungsziel Ihres Projekts nicht verfügbar sind.
Apple stellt jetzt die NSOperatingSystemVersion-Struktur in NSProcessInfo
bereitSie können es mit dem isOperatingSystemAtLeastVersion verwenden: oder Sie können nur die drei Felder überprüfen, um genau zu erfahren, auf welcher Systemversion Ihre App läuft.
Es ist in obj c und swift
verfügbarTags und Links objective-c iphone ios