#import <sys/utsname.h>
+ (NSString *)deviceType
{
struct utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
//------------------------------iPhone---------------------------
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"] ||
[platform isEqualToString:@"iPhone3,2"] ||
[platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4";
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
if ([platform isEqualToString:@"iPhone5,1"] ||
[platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5";
if ([platform isEqualToString:@"iPhone5,3"] ||
[platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c";
if ([platform isEqualToString:@"iPhone6,1"] ||
[platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s";
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";
if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus";
if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhone SE";
if ([platform isEqualToString:@"iPhone9,1"] ||
[platform isEqualToString:@"iPhone9,3"]) return @"iPhone 7";
if ([platform isEqualToString:@"iPhone9,2"] ||
[platform isEqualToString:@"iPhone9,4"]) return @"iPhone 7 Plus";
if ([platform isEqualToString:@"iPhone10,1"] ||
[platform isEqualToString:@"iPhone10,4"]) return @"iPhone 8";
if ([platform isEqualToString:@"iPhone10,2"] ||
[platform isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus";
if ([platform isEqualToString:@"iPhone10,3"] ||
[platform isEqualToString:@"iPhone10,6"]) return @"iPhone X";
if ([platform isEqualToString:@"iPhone11,8"]) return @"iPhone XR";
if ([platform isEqualToString:@"iPhone11,2"]) return @"iPhone XS";
if ([platform isEqualToString:@"iPhone11,4"] ||
[platform isEqualToString:@"iPhone11,6"]) return @"iPhone XS Max";
if ([platform isEqualToString:@"iPhone12,1"]) return @"iPhone 11";
if ([platform isEqualToString:@"iPhone12,3"]) return @"iPhone 11 Pro";
if ([platform isEqualToString:@"iPhone12,5"]) return @"iPhone 11 Pro Max";
if ([platform isEqualToString:@"iPhone12,8"]) return @"iPhone SE 2";
if ([platform isEqualToString:@"iPhone13,1"]) return @"iPhone 12 mini";
if ([platform isEqualToString:@"iPhone13,2"]) return @"iPhone 12";
if ([platform isEqualToString:@"iPhone13,3"]) return @"iPhone 12 Pro";
if ([platform isEqualToString:@"iPhone13,4"]) return @"iPhone 12 Pro Max";
if ([platform isEqualToString:@"iPhone14,4"]) return @"iPhone 13 mini";
if ([platform isEqualToString:@"iPhone14,5"]) return @"iPhone 13";
if ([platform isEqualToString:@"iPhone14,2"]) return @"iPhone 13 Pro";
if ([platform isEqualToString:@"iPhone14,3"]) return @"iPhone 13 Pro Max";
if ([platform isEqualToString:@"iPhone14,6"]) return @"iPhone SE 3";
if ([platform isEqualToString:@"iPhone14,7"]) return @"iPhone 14";
if ([platform isEqualToString:@"iPhone14,8"]) return @"iPhone 14 Plus";
if ([platform isEqualToString:@"iPhone15,2"]) return @"iPhone 14 Pro";
if ([platform isEqualToString:@"iPhone15,3"]) return @"iPhone 14 Pro Max";
//------------------------------iPad--------------------------
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad";
if ([platform isEqualToString:@"iPad2,1"] ||
[platform isEqualToString:@"iPad2,2"] ||
[platform isEqualToString:@"iPad2,3"] ||
[platform isEqualToString:@"iPad2,4"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad3,1"] ||
[platform isEqualToString:@"iPad3,2"] ||
[platform isEqualToString:@"iPad3,3"]) return @"iPad 3";
if ([platform isEqualToString:@"iPad3,4"] ||
[platform isEqualToString:@"iPad3,5"] ||
[platform isEqualToString:@"iPad3,6"]) return @"iPad 4";
if ([platform isEqualToString:@"iPad6,11"] ||
[platform isEqualToString:@"iPad6,12"]) return @"iPad 5";
if ([platform isEqualToString:@"iPad7,5"] ||
[platform isEqualToString:@"iPad7,6"]) return @"iPad 6";
if ([platform isEqualToString:@"iPad7,11"] ||
[platform isEqualToString:@"iPad7,12"]) return @"iPad 7";
if ([platform isEqualToString:@"iPad11,6"] ||
[platform isEqualToString:@"iPad11,7"]) return @"iPad 8";
//------------------------------iPad Pro-----------------------
if ([platform isEqualToString:@"iPad6,3"] ||
[platform isEqualToString:@"iPad6,4"]) return @"iPad Pro 9.7-inch";
if ([platform isEqualToString:@"iPad6,7"] ||
[platform isEqualToString:@"iPad6,8"]) return @"iPad Pro 12.9-inch";
if ([platform isEqualToString:@"iPad7,1"] ||
[platform isEqualToString:@"iPad7,2"]) return @"iPad Pro 12.9-inch 2";
if ([platform isEqualToString:@"iPad7,3"] ||
[platform isEqualToString:@"iPad7,4"]) return @"iPad Pro 10.5-inch";
if ([platform isEqualToString:@"iPad8,1"] ||
[platform isEqualToString:@"iPad8,2"]) ||
[platform isEqualToString:@"iPad8,3"]) ||
[platform isEqualToString:@"iPad8,4"]) return @"iPad Pro 11 inch";
if ([platform isEqualToString:@"iPad8,9"] ||
[platform isEqualToString:@"iPad8,10"]) return @"iPad Pro 11 inch 2";
if ([platform isEqualToString:@"iPad8,5"] ||
[platform isEqualToString:@"iPad8,6"] ||
[platform isEqualToString:@"iPad8,7"] ||
[platform isEqualToString:@"iPad8,8"]) return @"iPad Pro 12.9 inch 3";
if ([platform isEqualToString:@"iPad8,11"] ||
[platform isEqualToString:@"iPad8,12"]) return @"iPad Pro 12.9 inch 4";
//------------------------------iPad Air-----------------------
if ([platform isEqualToString:@"iPad4,1"] ||
[platform isEqualToString:@"iPad4,2"] ||
[platform isEqualToString:@"iPad4,3"]) return @"iPad Air";
if ([platform isEqualToString:@"iPad5,3"] ||
[platform isEqualToString:@"iPad5,4"]) return @"iPad Air 2";
if ([platform isEqualToString:@"iPad11,3"] ||
[platform isEqualToString:@"iPad11,4"]) return @"iPad Air 3";
if ([platform isEqualToString:@"iPad13,1"] ||
[platform isEqualToString:@"iPad13,2"]) return @"iPad Air 4";
//------------------------------iPad Mini-----------------------
if ([platform isEqualToString:@"iPad2,5"] ||
[platform isEqualToString:@"iPad2,6"] ||
[platform isEqualToString:@"iPad2,7"]) return @"iPad mini";
if ([platform isEqualToString:@"iPad4,4"] ||
[platform isEqualToString:@"iPad4,5"] ||
[platform isEqualToString:@"iPad4,6"]) return @"iPad mini 2";
if ([platform isEqualToString:@"iPad4,7"] ||
[platform isEqualToString:@"iPad4,8"] ||
[platform isEqualToString:@"iPad4,9"]) return @"iPad mini 3";
if ([platform isEqualToString:@"iPad5,1"] ||
[platform isEqualToString:@"iPad5,2"]) return @"iPad mini 4";
if ([platform isEqualToString:@"iPad11,1"] ||
[platform isEqualToString:@"iPad11,2"]) return @"iPad mini 5";
//------------------------------iTouch------------------------
if ([platform isEqualToString:@"iPod1,1"]) return @"iTouch";
if ([platform isEqualToString:@"iPod2,1"]) return @"iTouch2";
if ([platform isEqualToString:@"iPod3,1"]) return @"iTouch3";
if ([platform isEqualToString:@"iPod4,1"]) return @"iTouch4";
if ([platform isEqualToString:@"iPod5,1"]) return @"iTouch5";
if ([platform isEqualToString:@"iPod7,1"]) return @"iTouch6";
if ([platform isEqualToString:@"iPod9,1"]) return @"iTouch7";
//------------------------------Samulitor-------------------------------------
if ([platform isEqualToString:@"i386"] ||
[platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
return @"Unknown";
}
iPhone:
型號(hào) |
像素 |
ppi |
屏幕尺寸 |
發(fā)布日期 |
2g |
480×320 |
163 |
3.5 |
2008.01 |
3g |
480×320 |
163 |
3.5 |
2008.06 |
3gs |
480×320 |
163 |
3.5 |
2009.06 |
4 |
960×640 |
163 |
3.5 |
2010.06 |
4s |
960×640 |
326 |
3.5 |
2011.10 |
5 |
1136×640 |
326 |
4.0 |
2012.09 |
5c |
1136×640 |
326 |
4.0 |
2013.09 |
5s |
1136×640 |
326 |
4.0 |
2013.09 |
6 |
1334×750 |
401 |
4.7 |
2014.09 |
6 plus |
1920×1080 |
401 |
5.5 |
2014.09 |
6s |
1334×750 |
401 |
4.7 |
2015.09 |
6s plus |
1920×1080 |
401 |
5.5 |
2015.09 |
5 SE |
1136×640 |
401 |
4.0 |
2016.03 |
7 |
1334×750 |
401 |
4.7 |
2016.09 |
7 plus |
1920×1080 |
401 |
5.5 |
2016.09 |
8 |
1334×750 |
401 |
4.7 |
2017.09 |
8 plus |
1920×1080 |
401 |
5.5 |
2017.09 |
X |
2436×1125 |
458 |
5.8 |
2017.09 |
XS |
2436×1125 |
458 |
5.8 |
2018.09 |
XS Max |
2688×1242 |
458 |
6.5 |
2018.09 |
XR |
1792×828 |
326 |
6.1 |
2018.09 |
11 |
1792×828 |
326 |
6.1 |
2019.09 |
11 Pro |
2436×1125 |
458 |
5.8 |
2019.09 |
11 Pro Max |
2688×1242 |
458 |
6.5 |
2019.09 |
12 Mini |
2340 x 1080 |
476 |
5.4 |
2020.09 |
12 |
2532 x 1170 |
460 |
6.1 |
2020.09 |
12 Pro |
2532 x 1170 |
460 |
6.1 |
2020.09 |
12 Pro Max |
2778 x 1284 |
458 |
6.7 |
2020.09 |
13 Mini |
2340 x 1080 |
476 |
5.4 |
2021.09 |
13 |
2532 x 1170 |
460 |
6.1 |
2021.09 |
13 Pro |
2532 x 1170 |
460 |
6.1 |
2021.09 |
13 Pro Max |
2778 x 1284 |
458 |
6.7 |
2021.09 |
SE3 |
1334 x 750 |
326 |
4.7 |
2022.09 |
14 |
2532 x 1170 |
460 |
6.1 |
2022.09 |
14 Plus |
2778 x 1284 |
458 |
6.7 |
2022.09 |
14 Pro |
2556 x 1179 |
460 |
6.1 |
2022.09 |
14 Pro Max |
2796 x 1290 |
460 |
6.7 |
2022.09 |
iPad:
機(jī)型 |
邏輯分辨率 |
Scale |
物理分辨率 |
比例 |
像素密度 |
屏幕尺寸 |
型號(hào)代碼 |
發(fā)布日期 |
iPad |
1024×768 |
@1x |
1024×768 |
4:3 |
163ppi |
9.7 |
iPad1,1 |
2010.01 |
iPad 2 |
1024×768 |
@1x |
1024×768 |
4:3 |
163ppi |
9.7 |
iPad2,1、iPad2,2今瀑、iPad2,3、iPad2,4 |
2011.03 |
iPad 3(New) |
1024×768 |
@2x |
2048×1536 |
4:3 |
264ppi |
9.7 |
iPad3,1且警、iPad3,2、iPad3,3 |
2012.03 |
iPad 4 |
1024×768 |
@2x |
2048×1536 |
4:3 |
264ppi |
9.7 |
iPad3,4礁遣、iPad3,5斑芜、iPad3,6 |
2012.10 |
iPad 5 |
1024×768 |
@2x |
2048×1536 |
4:3 |
264ppi |
9.7 |
iPad6,11、iPad6,12 |
2017.03 |
iPad 6 |
1024×768 |
@2x |
2160×1620 |
4:3 |
264ppi |
10.2 |
iPad7,11祟霍、iPad7,12 |
2019.09 |
iPad Air:
機(jī)型 |
邏輯分辨率 |
Scale |
物理分辨率 |
比例 |
像素密度 |
屏幕尺寸 |
型號(hào)代碼 |
發(fā)布日期 |
iPad Air |
1024×768 |
@2x |
2048×1536 |
4:3 |
264ppi |
9.7 |
iPad4,1杏头、iPad4,2、iPad4,3 |
2013.10 |
iPad Air 2 |
1024×768 |
@2x |
2048×1536 |
4:3 |
264ppi |
9.7 |
iPad5,3沸呐、iPad5,4 |
2014.10 |
iPad Pro:
機(jī)型 |
邏輯分辨率 |
Scale |
物理分辨率 |
比例 |
像素密度 |
屏幕尺寸 |
型號(hào)代碼 |
發(fā)布日期 |
iPad Pro 12.9-inch |
1366×1024 |
@2x |
2732×2048 |
4:3 |
264ppi |
12.9 |
iPad6,7醇王、iPad6,8 |
2015.09 |
iPad Pro 9.7-inch |
1024×768 |
@2x |
2048×1536 |
4:3 |
264ppi |
9.7 |
iPad6,3、iPad6,4 |
2016.03 |
iPad Pro 12.9-inch 2 |
1366×1024 |
@2x |
2732×2048 |
4:3 |
264ppi |
12.9 |
iPad7,1崭添、iPad7,2 |
2017.06 |
iPad Pro 10.5 |
1112×834 |
@2x |
2224×1668 |
4:3 |
264ppi |
10.5 |
iPad7,3寓娩、iPad7,4 |
2017.06 |
iPad Mini:
機(jī)型 |
邏輯分辨率(point) |
Scale |
物理分辨率(pixel) |
比例 |
像素密度(PPI) |
屏幕尺寸 |
型號(hào)代碼 |
發(fā)布日期 |
iPad mini |
1024×768 |
@1X |
1024×768 |
4:3 |
163 |
7.9 |
iPad2,5、iPad2,6呼渣、iPad2,7 |
2012.10 |
iPad mini 2 |
1024×768 |
@2X |
2048×1536 |
4:3 |
326 |
7.9 |
iPad4,5棘伴、iPad4,6、iPad4,7 |
2013.10 |
iPad mini 3 |
1024×768 |
@2X |
2048×1536 |
4:3 |
326 |
7.9 |
iPad4,7屁置、iPad4,8焊夸、iPad4,9 |
2014.10 |
iPad mini 4 |
1024×768 |
@2X |
2048×1536 |
4:3 |
326 |
7.9 |
iPad5,1、iPad5,2 |
2015.09 |
iTouch:
機(jī)型 |
邏輯分辨率 |
Scale |
物理分辨率 |
比例 |
像素密度 |
屏幕尺寸 |
型號(hào)代碼 |
發(fā)布日期 |
iTouch |
480*320 |
@1X |
480*320 |
3:2 |
163ppi |
3.5 |
iPod1,1 |
2007.09 |
iTouch 2 |
480*320 |
@1X |
480*320 |
3:2 |
163ppi |
3.5 |
iPod2,1 |
2008.09 |
iTouch 3 |
480*320 |
@1X |
480*320 |
3:2 |
163ppi |
3.5 |
iPod3,1 |
2009.09 |
iTouch 4 |
480*320 |
@2X |
960*640 |
3:2 |
326ppi |
3.5 |
iPod4,1 |
2010.09 |
iTouch 5 |
568*320 |
@2X |
1136*640 |
16:9 |
326ppi |
4.0 |
iPod5,1 |
2012.09 |
iTouch 6 |
568*320 |
@2X |
1136*640 |
16:9 |
326ppi |
4.0 |
iPod7,1 |
2015.07 |
Samulitor:
機(jī)型 |
型號(hào)代碼 |
Simulator |
i386缰犁、x86_64 |
Unknown |
|