Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best Way to check for iOS 7 or earlier? [duplicate]

Tags:

ios

ios7

ios6

I need to reconfigure some UI based on the iOS version I am running against, so I need a good way of checking the iOS version. For the time being I am doing this:

if ([[[UIDevice currentDevice] systemVersion] isEqualToString: @"7.0"]) {     //do stuff } 

I'd prefer not to hard code these string comparisons and make decisions based on that. Are there any better ways of doing this?

like image 818
Huang Avatar asked Sep 24 '13 21:09

Huang


1 Answers

I always keep those in my Constants.h file:

#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)  #define IS_OS_5_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0) #define IS_OS_6_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0) #define IS_OS_7_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) #define IS_OS_8_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) #define IS_OS_9_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) 

Although I'll always prefer the above macros, for the completion of the accepted answer, here is the apple approved way:

if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) {      // do stuff for iOS 7 and newer  } else {      // do stuff for older versions than iOS 7 } 
like image 153
Segev Avatar answered Sep 28 '22 03:09

Segev