最近有個需求是獲取設備的真實類型,e.g : iPhone5s、iPhone6、iPhone6 plus 等;用[UIDevice
currentDevice]方法是無法獲取具體的設備類型的;
網上有好多介紹的都沒有iPhone6等設備的相關參數;下面就具體介紹下獲取設備類型的方法;
關於獲取iPhone6及plus設備的具體類型,有兩種方法:
1)、根據設備的尺寸來判斷;
就是獲取設備的高度:[[UIScreen mainScreen] bounds].size.height 來和iPhone6、plus的高度667、736比較判斷;
2)、第二種方法就是用的比較多的,根據設備的硬件類型;如下代碼:
需要引入頭文件: #import "sys/utsname.h",下面把用到的所有設備類型列出來;
+(NSString*)devicetype
{
struct utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
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";
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5";
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5";
if ([platform hasPrefix:@"iPhone6,"]) return @"iPhone 5s";
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone Plus";
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2";
if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3";
if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4";
if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5";
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad";
if ([platform isEqualToString:@"iPad1,2"]) return @"iPad 3G";
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini";
if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini";
if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini";
if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3";
if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3";
if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3";
if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4";
if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4";
if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4";
if ([platform isEqualToString:@"i386"]) return @"Simulator";
if ([platform isEqualToString:@"x86_64"]) return @"Simulator";
return platform;
}
完。。