Fire Fist
Fire Fist

Reputation: 7050

How to check iPhone Device Version in iOS?

Hi i would like to check iPhone Device Version in iOS.

I mean , currently running device is iPhone 4 or iPhone 5.

I need to check the device , is that iPhone 5 or not?

Because i have some problem in my app that need to know iPhone 5 or not.

So how can i?

Upvotes: 4

Views: 8370

Answers (4)

ChavirA
ChavirA

Reputation: 707

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_IPHONE_4 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 480.0f)
#define IS_IPHONE_5 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0f)
#define IS_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0f)
#define IS_IPHONE_6PLUS (IS_IPHONE && [[UIScreen mainScreen] nativeScale] == 3.0f)
#define IS_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 736.0f)
#define IS_RETINA ([[UIScreen mainScreen] scale] == 2.0f)

Upvotes: 0

Chandler De Angelis
Chandler De Angelis

Reputation: 2766

I actually found a #define that does the trick

#define IS_IPHONE_5 (fabs((double)[[UIScreen mainScreen] bounds].size.height - (double) 568) < DBL_EPSILON)

Upvotes: 1

RayofHope
RayofHope

Reputation: 1187

Add This Macros to your code:

#define HEIGHT_IPHONE_5 568
#define IS_IPHONE   ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
#define IS_IPHONE_5 ([[UIScreen mainScreen] bounds ].size.height == HEIGHT_IPHONE_5 )

then just check whenever you needs..

if (IS_IPHONE_5) {
    //Code for iPhone5
}else{
    //Code for earlier version
}

Upvotes: 9

dbramhall
dbramhall

Reputation: 264

Add this code:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
        if ([[UIScreen mainScreen] respondsToSelector: @selector(scale)]) {
            CGSize result = [[UIScreen mainScreen] bounds].size;
            CGFloat scale = [UIScreen mainScreen].scale;
            result = CGSizeMake(result.width * scale, result.height * scale);

            if(result.height == 960) {
                NSLog(@"iPhone 4 Resolution");
                resolution_number = 1;
            }
            if(result.height == 1136) {
                NSLog(@"iPhone 5 Resolution");
            }
        }
        else{
            NSLog(@"Standard Resolution");
        }
    }

Upvotes: 9

Related Questions