M.Othman
M.Othman

Reputation: 5300

Detect if the device is iPhone 5s

I am facing an issue where I need to find out the type of the device for analysis purposes.

So I need to find out a way to check if the device is iPhone 5s or not !

any idea . Thank you

Upvotes: 5

Views: 5001

Answers (1)

Simon
Simon

Reputation: 18073

By using GBDeviceInfo library

add it to your pod file and run pod install

pod GBDeviceInfo

to determine if its an iPhone 5s:

if (deviceInfo.model == GBDeviceModeliPhone5s) {
   NSLog(@"It's a 5s");   //It's an iPhone 5s
}

By code:

#import <sys/utsname.h>
/*
    @"i386"      on the simulator
    @"iPod1,1"   on iPod Touch
    @"iPod2,1"   on iPod Touch Second Generation
    @"iPod3,1"   on iPod Touch Third Generation
    @"iPod4,1"   on iPod Touch Fourth Generation
    @"iPod5,1"   on iPod Touch Fifth Generation
    @"iPhone1,1" on iPhone
    @"iPhone1,2" on iPhone 3G
    @"iPhone2,1" on iPhone 3GS
    @"iPad1,1"   on iPad
    @"iPad2,1"   on iPad 2
    @"iPad3,1"   on 3rd Generation iPad
    @"iPad3,2":  on iPad 3(GSM+CDMA)
    @"iPad3,3":  on iPad 3(GSM)
    @"iPad3,4":  on iPad 4(WiFi)
    @"iPad3,5":  on iPad 4(GSM)
    @"iPad3,6":  on iPad 4(GSM+CDMA)
    @"iPhone3,1" on iPhone 4
    @"iPhone4,1" on iPhone 4S
    @"iPhone5,1" on iPhone 5
    @"iPad3,4"   on 4th Generation iPad
    @"iPad2,5"   on iPad Mini
    @"iPhone5,1" on iPhone 5(GSM)
    @"iPhone5,2" on iPhone 5(GSM+CDMA)
    @"iPhone5,3  on iPhone 5c(GSM)
    @"iPhone5,4" on iPhone 5c(GSM+CDMA)
    @"iPhone6,1" on iPhone 5s(GSM)
    @"iPhone6,2" on iPhone 5s(GSM+CDMA)
    @"iPhone7,1" on iPhone 6 Plus
    @"iPhone7,2" on iPhone 6
*/

- (NSString*) machineName{
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *result = [NSString stringWithCString:systemInfo.machine
                                          encoding:NSUTF8StringEncoding];
    return result;
}

Upvotes: 21

Related Questions