Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detects iOS 7.1 version

Tags:

ios

ios7

ios7.1

I use this code

#define IS_IOS7 (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1)

To find if the app is running on iOS7. But I now need to know if it runs on iOS7.1 but there isn't any NSFoundationVersionNumber_iOS_7_0 and NSFoundationVersionNumber_iOS_7_1

I know the definition of

#define NSFoundationVersionNumber_iOS_6_1  993.00

So maybe I can compare with a number higher than 993 but I don't know. Someone gets a safe and reliable solution ?

like image 424
Tancrede Chazallet Avatar asked Mar 13 '14 09:03

Tancrede Chazallet


1 Answers

There are several ways to do this, and you can easily find them in several answers here on SO. Here are some:

[[UIDevice currentDevice] systemVersion]

Slightly more complex, with test:

if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
    // iOS7...
}

You can add a more complete way to test for version like this:

/*
 *  System Versioning Preprocessor Macros
 */ 

#define SYSTEM_VERSION_EQUAL_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 SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

/*
 *  Usage
 */ 

if (SYSTEM_VERSION_LESS_THAN(@"4.0")) {
    ...
}

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"3.1.1")) {
    ...
}

Sources:

How to check iOS version?

How can we programmatically detect which iOS version is device running on?

like image 170
Marius Waldal Avatar answered Sep 19 '22 10:09

Marius Waldal