1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #import <sys/sysctl.h> //获得设备型号 -( 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); 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,1" ]) return @ "iPhone 6 Plus (A1522/A1524)" ; if ([platform isEqualToString:@ "iPhone7,2" ]) return @ "iPhone 6 (A1549/A1586)" ; if ([platform isEqualToString:@ "iPod1,1" ]) return @ "iPod Touch 1G (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:@ "iPad1,1" ]) return @ "iPad 1G (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:@ "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:@ "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)" ; 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:@ "iPad4,4" ]) return @ "iPad Mini 2G (A1489)" ; if ([platform isEqualToString:@ "iPad4,5" ]) return @ "iPad Mini 2G (A1490)" ; if ([platform isEqualToString:@ "iPad4,6" ]) return @ "iPad Mini 2G (A1491)" ; if ([platform isEqualToString:@ "i386" ]) return @ "iPhone Simulator" ; if ([platform isEqualToString:@ "x86_64" ]) return @ "iPhone Simulator" ; return platform; } |