iOS获取设备型号
Posted 小敏的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS获取设备型号相关的知识,希望对你有一定的参考价值。
导入头文件
#include <sys/types.h>
#include <sys/sysctl.h>
直接调用
1 //获得设备型号 2 + (NSString *)getCurrentDeviceModel:(UIViewController *)controller 3 { 4 int mib[2]; 5 size_t len; 6 char *machine; 7 8 mib[0] = CTL_HW; 9 mib[1] = HW_MACHINE; 10 sysctl(mib, 2, NULL, &len, NULL, 0); 11 machine = malloc(len); 12 sysctl(mib, 2, machine, &len, NULL, 0); 13 14 NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding]; 15 free(machine); 16 17 if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)"; 18 if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)"; 19 if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)"; 20 if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)"; 21 if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)"; 22 if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)"; 23 if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)"; 24 if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)"; 25 if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)"; 26 if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)"; 27 if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)"; 28 if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)"; 29 if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)"; 30 if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)"; 31 if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)"; 32 33 if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G (A1213)"; 34 if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G (A1288)"; 35 if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G (A1318)"; 36 if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G (A1367)"; 37 if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G (A1421/A1509)"; 38 39 if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G (A1219/A1337)"; 40 41 if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (A1395)"; 42 if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (A1396)"; 43 if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (A1397)"; 44 if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (A1395+New Chip)"; 45 if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G (A1432)"; 46 if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G (A1454)"; 47 if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G (A1455)"; 48 49 if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (A1416)"; 50 if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (A1403)"; 51 if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (A1430)"; 52 if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (A1458)"; 53 if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (A1459)"; 54 if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4 (A1460)"; 55 56 if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air (A1474)"; 57 if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air (A1475)"; 58 if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air (A1476)"; 59 if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G (A1489)"; 60 if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G (A1490)"; 61 if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G (A1491)"; 62 63 if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator"; 64 if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator"; 65 return platform; 66 }
以上是关于iOS获取设备型号的主要内容,如果未能解决你的问题,请参考以下文章