苹果的每个产品都有几个类型,从iphone到ipod、ipad,而每个产品又有几个类型,从iphone2G到iphone5,从iPod touch1到iPod touch5,从ipad1到ipad4,只有你想不到的,没有人家做不到的。
但是在做ios开发中如何检测这些类型呢?下边的方法就是CSDN问答中给出的方法,原问题见: http://ask.csdn.net/questions/997
但是在做ios开发中如何检测这些类型呢?下边的方法就是CSDN问答中给出的方法,原问题见: http://ask.csdn.net/questions/997
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
|
- (
NSString
*) platformString{
// Gets a string with the device model
size_t
size;
sysctlbyname(
"hw.machine"
,
NULL
, &size,
NULL
, 0);
char
*machine =
malloc
(size);
sysctlbyname(
"hw.machine"
, machine, &size,
NULL
, 0);
NSString
*platform = [
NSString
stringWithCString:machine encoding:
NSUTF8StringEncoding
];
free
(machine);
if
([platform isEqualToString:@
"iPhone1,1"
])
return
@
"iPhone 2G"
;
if
([platform isEqualToString:@
"iPhone1,2"
])
return
@
"iPhone 3G"
;
if
([platform isEqualToString:@
"iPhone2,1"
])
return
@
"iPhone 3GS"
;
if
([platform isEqualToString:@
"iPhone3,1"
])
return
@
"iPhone 4"
;
if
([platform isEqualToString:@
"iPhone3,2"
])
return
@
"iPhone 4"
;
if
([platform isEqualToString:@
"iPhone3,3"
])
return
@
"iPhone 4 (CDMA)"
;
if
([platform isEqualToString:@
"iPhone4,1"
])
return
@
"iPhone 4S"
;
if
([platform isEqualToString:@
"iPhone5,1"
])
return
@
"iPhone 5"
;
if
([platform isEqualToString:@
"iPhone5,2"
])
return
@
"iPhone 5 (GSM+CDMA)"
;
if
([platform isEqualToString:@
"iPod1,1"
])
return
@
"iPod Touch (1 Gen)"
;
if
([platform isEqualToString:@
"iPod2,1"
])
return
@
"iPod Touch (2 Gen)"
;
if
([platform isEqualToString:@
"iPod3,1"
])
return
@
"iPod Touch (3 Gen)"
;
if
([platform isEqualToString:@
"iPod4,1"
])
return
@
"iPod Touch (4 Gen)"
;
if
([platform isEqualToString:@
"iPod5,1"
])
return
@
"iPod Touch (5 Gen)"
;
if
([platform isEqualToString:@
"iPad1,1"
])
return
@
"iPad"
;
if
([platform isEqualToString:@
"iPad1,2"
])
return
@
"iPad 3G"
;
if
([platform isEqualToString:@
"iPad2,1"
])
return
@
"iPad 2 (WiFi)"
;
if
([platform isEqualToString:@
"iPad2,2"
])
return
@
"iPad 2"
;
if
([platform isEqualToString:@
"iPad2,3"
])
return
@
"iPad 2 (CDMA)"
;
if
([platform isEqualToString:@
"iPad2,4"
])
return
@
"iPad 2"
;
if
([platform isEqualToString:@
"iPad2,5"
])
return
@
"iPad Mini (WiFi)"
;
if
([platform isEqualToString:@
"iPad2,6"
])
return
@
"iPad Mini"
;
if
([platform isEqualToString:@
"iPad2,7"
])
return
@
"iPad Mini (GSM+CDMA)"
;
if
([platform isEqualToString:@
"iPad3,1"
])
return
@
"iPad 3 (WiFi)"
;
if
([platform isEqualToString:@
"iPad3,2"
])
return
@
"iPad 3 (GSM+CDMA)"
;
if
([platform isEqualToString:@
"iPad3,3"
])
return
@
"iPad 3"
;
if
([platform isEqualToString:@
"iPad3,4"
])
return
@
"iPad 4 (WiFi)"
;
if
([platform isEqualToString:@
"iPad3,5"
])
return
@
"iPad 4"
;
if
([platform isEqualToString:@
"iPad3,6"
])
return
@
"iPad 4 (GSM+CDMA)"
;
if
([platform isEqualToString:@
"i386"
])
return
@
"Simulator"
;
if
([platform isEqualToString:@
"x86_64"
])
return
@
"Simulator"
;
return
platform;
}
|