【iOS】デバイス情報系小ネタ2つ

とりあえずデバイス情報系ー

iOSのメジャーバージョン取得

iOS7.1とかの「7」の部分取得しますー

NSArray  *osVersions = [[[UIDevice currentDevice]systemVersion] componentsSeparatedByString:@"."];
NSInteger majorVersion  = [[osVersions objectAtIndex:0] integerValue];



バイス名取得

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
free(machine);


platformと機種の対比は以下の通り

platform 機種
iPhone1,1 iPhone 2G
iPhone1,2 iPhone 3G
iPhone2,1 iPhone 3GS
iPhone3,1 iPhone 4
iPhone3,2 iPhone 4
iPhone3,3 iPhone 4 (CDMA)
iPhone4,1 iPhone 4S
iPhone5,1 iPhone 5
iPhone5,2 iPhone 5 (GSM+CDMA)
iPod1,1 iPod Touch (第1世代)
iPod2,1 iPod Touch (第2世代)
iPod3,1 iPod Touch (第3世代)
iPod4,1 iPod Touch (第4世代)
iPod5,1 iPod Touch (第5世代)
iPad1,1 iPad
iPad1,2 iPad 3G
iPad2,1 iPad 2 (WiFi)
iPad2,2 iPad 2
iPad2,3 iPad 2 (CDMA)
iPad2,4 iPad 2
iPad2,5 iPad Mini (WiFi)
iPad2,6 iPad Mini
iPad2,7 iPad Mini (GSM+CDMA)
iPad3,1 iPad 3 (WiFi)
iPad3,2 iPad 3 (GSM+CDMA)
iPad3,3 iPad 3
iPad3,4 iPad 4 (WiFi)
iPad3,5 iPad 4
iPad3,6 iPad 4 (GSM+CDMA)
i386 Simulator
x86_64 Simulator