關於iPhone6、plus等設備獲取設備類型名稱的方法

最近有個需求是獲取設備的真實類型,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;

}


完。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章