关于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;

}


完。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值