获取设备类型

1、获取设备的常用信息

NSLog(@"name: %@", [[UIDevice currentDevice] name]);
NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]);
NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]);
NSLog(@"model: %@", [[UIDevice currentDevice] model]);
NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]);

name: i6+
systemName: iPhone OS
systemVersion: 9.1
model:iPhone
localizedModel: iPhone

2、如果要获取手机具体型号

include <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:machineencoding: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;

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • import "sys/utsname.h" /*! get the information of the dev...
    机器猫的百宝袋阅读 2,854评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,297评论 25 709
  • 1990 年8 月8 日发布1991 年4 月9 日第一次修订1998 年8 月20 日第二次修订2007 年4 ...
    littlelan阅读 12,370评论 0 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,801评论 18 399
  • 护照艺术照照照靓丽(上联) 汉语外国语语语精通(下联) 一带一路大显身手(横批) 孩子是需要不断鼓励的!
    何启沪阅读 1,598评论 0 0

友情链接更多精彩内容