Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIDevice currentDevice model possible values

Tags:

What are all the possible values returned by [[UIDevice currentDevice] model];? It isn't documented.

like image 397
Fergal Avatar asked Jan 19 '13 04:01

Fergal


1 Answers

The possible vales are iPod touch, iPhone, iPhone Simulator, iPad, iPad Simulator

If you want to know which hardware iOS is ruining on like iPhone3, iPhone4, iPhone5 etc below is the code for that


NOTE: The below code may not contain all device's string, I'm with other guys are maintaining the same code on GitHub so please take the latest code from there

Objective-C : GitHub/DeviceUtil

Swift : GitHub/DeviceGuru


#include <sys/types.h> #include <sys/sysctl.h>  - (NSString*)hardwareDescription {     NSString *hardware = [self hardwareString];     if ([hardware isEqualToString:@"iPhone1,1"]) return @"iPhone 2G";     if ([hardware isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";     if ([hardware isEqualToString:@"iPhone3,1"]) return @"iPhone 4";     if ([hardware isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";     if ([hardware isEqualToString:@"iPhone5,1"]) return @"iPhone 5";     if ([hardware isEqualToString:@"iPod1,1"]) return @"iPodTouch 1G";     if ([hardware isEqualToString:@"iPod2,1"]) return @"iPodTouch 2G";     if ([hardware isEqualToString:@"iPad1,1"]) return @"iPad";     if ([hardware isEqualToString:@"iPad2,6"]) return @"iPad Mini";     if ([hardware isEqualToString:@"iPad4,1"]) return @"iPad Air WIFI";     //there are lots of other strings too, checkout the github repo     //link is given at the top of this answer      if ([hardware isEqualToString:@"i386"]) return @"Simulator";     if ([hardware isEqualToString:@"x86_64"]) return @"Simulator";      return nil; }  - (NSString*)hardwareString {     size_t size = 100;     char *hw_machine = malloc(size);     int name[] = {CTL_HW,HW_MACHINE};     sysctl(name, 2, hw_machine, &size, NULL, 0);     NSString *hardware = [NSString stringWithUTF8String:hw_machine];     free(hw_machine);     return hardware; } 
like image 188
Inder Kumar Rathore Avatar answered Oct 14 '22 19:10

Inder Kumar Rathore