开发中有的时候查看设计统计数据,或者通过日志查看错误信息,这个时候我们就需要获取获取设备信息,看下关于设备有几种方法:
1
2
3
4
5
|
NSLog(
@"%@"
,[[UIDevice currentDevice] name]);
//设备名称
NSLog(
@"%@"
,[[UIDevice currentDevice] model]);
//设备类型
NSLog(
@"%@"
,[[UIDevice currentDevice] localizedModel]);
NSLog(
@"%@"
,[[UIDevice currentDevice] systemName]);
//系统名称
NSLog(
@"%@"
,[[UIDevice currentDevice] systemVersion]);
//系统版本
|
这个并不能满足我们的需求,我们需要获取具体的设备型号,iPhone4还是iPhone6s,32G还是64G的,我们就需要自己扩张UIDevice,实战之前我们需要看一下维基百科的文档:https://www.theiphonewiki.com/wiki/Models;
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
|
+ (NSString *)devicePlatForm{
struct
utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
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)"
;
//http://www.cnblogs.com/xiaofeixiang/
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;
}
|
参数信息可以通过维基百科来添加,如果单纯只是判断iPhone几代也可以通过屏幕分辨率确认~
本文转自Fly_Elephant博客园博客,原文链接:http://www.cnblogs.com/xiaofeixiang/p/5100187.html,如需转载请自行联系原作者