5

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

Simon
  • 17,223
  • 1
  • 19
  • 23
M.Othman
  • 5,132
  • 3
  • 35
  • 39
  • 1
    possible duplicate of [Determine device (iPhone, iPod Touch) with iPhone SDK](http://stackoverflow.com/questions/448162/determine-device-iphone-ipod-touch-with-iphone-sdk) – Martin R Nov 10 '13 at 08:41
  • This answer http://stackoverflow.com/a/3950748/1187415 to the duplicate question seems to contain an up-to-date list of devices. – Martin R Nov 10 '13 at 08:48
  • I was looking actually for processor related answer ,, like 'CPU_TYPE_ARM64' , something like the answer here http://stackoverflow.com/a/19859698/979169 – M.Othman Nov 10 '13 at 09:18
  • Then why do you accept answer that does not solve your problem? – Martin R Nov 10 '13 at 09:29
  • it solves the problem but in another way ,, which is actually better :) with less code ..my last comment meant to answer why i did not see the duplicate u mentioned !! – M.Othman Nov 10 '13 at 09:35

1 Answers1

21

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;
}
Simon
  • 17,223
  • 1
  • 19
  • 23