NSFoundationVersionNumber in iOS 11 - Ermitteln der programmgesteuerten iOS-Version

10

In früheren iOS-Versionen habe ich NSFoundationVersionNumber verwendet, um die iOS-Version zu erkennen:

%Vor%

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?

    
Andrei Herford 23.08.2017, 14:20
quelle

3 Antworten

13

Eine der angegebenen Methoden zum Abrufen der Systemversion ist die systemVersion-Eigenschaft von UIDevice. Ссылка

NSString * systemVersion = [[UIDevice currentDevice] systemVersion];

Sie können es auf diese Weise verwenden:

%Vor%     
Adam 23.08.2017, 18:53
quelle
50

Wenn Sie Xcode 9 oder höher verwenden, können Sie das Attribut @available verwenden:

%Vor%

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.

    
Charles Srstka 23.08.2017 19:15
quelle
1

Apple NSProcessinfo

Apple stellt jetzt die NSOperatingSystemVersion-Struktur in NSProcessInfo

bereit

Sie 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ügbar     
cole 23.08.2017 14:23
quelle

Tags und Links