苹果设备没更新一次,版本都得维护一下,不然后台分析就老说收集到不明手机型号。��为大家献上新的获取iPhone 6,iPhone 6s,iPhone6Plus, iPhone6sPlus,iPad Air2, iPad Mini 4的设备型号获取方式
附上苹果官网设备型号表供参考
官网型号对照链接
https://www.theiphonewiki.com/wiki/Models
//获得设备型号
+ (NSString *)GetCurrentDeviceModel
{
int mib[2];
size_t len;
char *machine;
mib[0] = CTL_HW;
mib[1] = HW_MACHINE;
sysctl(mib, 2, NULL, &len, NULL, 0);
machine = malloc(len);
sysctl(mib, 2, machine, &len, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding];
free(machine);
//iPhone
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";
if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";
if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";
if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";
if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";
if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";
if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s (A1633/A1688/A1691/A1700)";
if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus (A1634/A1687/A1690/A1699)";
//iPod Touch
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch (A1213)";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G (A1288)";
if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G (A1318)";
if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G (A1367)";
if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G (A1421/A1509)";
if ([platform isEqualToString:@"iPod7,1"]) return @"iPod Touch 6G (A1574)";
//iPad
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad (A1219/A1337)";
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (A1395)";
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (A1396)";
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (A1397)";
if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (A1395+New Chip)";
if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (A1416)";
if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (A1403)";
if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (A1430)";
if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (A1458)";
if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (A1459)";
if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4 (A1460)";
//iPad Air
if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air (A1474)";
if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air (A1475)";
if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air (A1476)";
if ([platform isEqualToString:@"iPad5,3"]) return @"iPad Air 2 (A1566)";
if ([platform isEqualToString:@"iPad5,4"]) return @"iPad Air 2 (A1567)";
//iPad mini
if ([platform isEqualToString:@"iPad2,5"]) return @"iPad mini 1G (A1432)";
if ([platform isEqualToString:@"iPad2,6"]) return @"iPad mini 1G (A1454)";
if ([platform isEqualToString:@"iPad2,7"]) return @"iPad mini 1G (A1455)";
if ([platform isEqualToString:@"iPad4,4"]) return @"iPad mini 2 (A1489)";
if ([platform isEqualToString:@"iPad4,5"]) return @"iPad mini 2 (A1490)";
if ([platform isEqualToString:@"iPad4,6"]) return @"iPad mini 2 (A1491)";
if ([platform isEqualToString:@"iPad4,7"]) return @"iPad mini 3 (A1599)";
if ([platform isEqualToString:@"iPad4,8"]) return @"iPad mini 3 (A1600)";
if ([platform isEqualToString:@"iPad4,9"]) return @"iPad mini 3 (A1601)";
if ([platform isEqualToString:@"iPad5,1"]) return @"iPad mini 4 (A1538)";
if ([platform isEqualToString:@"iPad5,2"]) return @"iPad mini 4 (A1550)";
if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
return platform;
}