In früheren iOS-Versionen I NSFoundationVersionNumber
die iOS-Version zu erkennen, zur Erkennung:NSFoundationVersionNumber in iOS 11 - Wie iOS Version programmatisch
#define IS_IOS10orHIGHER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max)
#define IS_IOS9orHIGHER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_8_3)
#define IS_IOS8orHIGHER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1)
#define IS_IOS7orHIGHER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
#define IS_IOS6orHIGHER (floor(NSFoundationVersionNumber) >= NSFoundationVersionNumber_iOS_6_0)
...
Jetzt würde ich das gleiche für iOS 11 zu tun, aber ich war nicht in der Lage um die richtige NSFoundationVersionNumber
zu finden. The docs zeigen NSFoundationVersionNumber_iOS_9_x_Max
, um das Neueste zu sein.
Also, wie ist die korrekte NSFoundationVersionNumber
zu erkennen, wenn iOS 11 verwendet wird?
Eigentlich könnte es aufgrund der Fließkommaarithmetik zu einem Glitch kommen. '[[UIDevice currentDevice] systemVersion] floatValue]' ist '11.1999998' auf meinem System. Das Standard-Float-Rundungsproblem, also wenn ich nach 11.2 suchen würde, würde das scheitern. –