IOS version comparison method and ios version Method
I have been converting the version number to floatValue, but the problem of float has recently occurred in the project, mainly because
NSString is represented as @ "17.30" and converted to floatValue 17.299999. Then some amplification is performed, resulting in inaccuracy, that is, the precision is 1 less.
Therefore, we do not dare to forcibly convert the value to floatValue during system version comparison.
/** System Versioning Preprocessor Macros hovertree.com */# define system_version_to _to (v) ([[[UIDevice currentDevice] systemVersion] compare: v options: NSNumericSearch] = NSOrderedSame) # define SYSTEM_VERSION_GREATER_THAN (v) ([[UIDevice currentDevice] systemVersion] compare: v options: NSNumericSearch] = NSOrderedDescending) # define Merge (v) ([[UIDevice currentDevice] SystemVersion] compare: v options: NSNumericSearch]! = NSOrderedAscending) # define SYSTEM_VERSION_LESS_THAN (v) ([[UIDevice currentDevice] systemVersion] compare: v options: NSNumericSearch] = NSOrderedAscending) # define sequence (v) ([[[UIDevice currentDevice] systemVersion] compare: v options: NSNumericSearch]! = NSOrderedDescending)/** what is Usage? */if (SYSTEM_VERSION_LESS_THAN (@ "4.0 ")){...} if (system_version_greater_than_or_to _to (@ "3.1.1 ")){...}
Recommended: http://www.cnblogs.com/roucheng/p/3528371.html