获取设备类型及信息

    一般只对设备的iPhone或iPad设备进行判断,那么只需使用
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad或者UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone即可。

如果要求较高可以用
[[UIDevice currentDevice] systemName];
[[UIDevice currentDevice] systemVersion]; //ios version
[[UIDevice currentDevice] uniqueIdentifier]; //ios5以后弃用的方法。
[[UIDevice currentDevice] model]; // 设备类型 iPad or iphone
[[UIDevice currentDevice] name]; // 机子主人取的名字

    上面的方法很好用,但是有时需要判断具体的设备类型,如iPad1,iPad2,iPhone4,iPhone5等等,那么只能使用以下的这个方法
+ ( NSString *)deviceString

{

     // 需要#import "sys/utsname.h"

     struct  utsname systemInfo;

     uname(&systemInfo);

     NSString  *deviceString = [ NSString  stringWithCString:systemInfo.machine encoding: NSUTF8StringEncoding ];

     if  ([deviceString isEqualToString:@ "iPhone1,1" ])     return  @ "iPhone 1G" ;

     if  ([deviceString isEqualToString:@ "iPhone1,2" ])     return  @ "iPhone 3G" ;

     if  ([deviceString isEqualToString:@ "iPhone2,1" ])     return  @ "iPhone 3GS" ;

     if  ([deviceString isEqualToString:@ "iPhone3,1" ])     return  @ "iPhone 4" ;

     if  ([deviceString isEqualToString:@ "iPhone4,1" ])     return  @ "iPhone 4S" ;

     if  ([deviceString isEqualToString:@ "iPhone5,2" ])     return  @ "iPhone 5" ;

     if  ([deviceString isEqualToString:@ "iPhone3,2" ])     return  @ "Verizon iPhone 4" ;

     if  ([deviceString isEqualToString:@ "iPod1,1" ])       return  @ "iPod Touch 1G" ;

     if  ([deviceString isEqualToString:@ "iPod2,1" ])       return  @ "iPod Touch 2G" ;

     if  ([deviceString isEqualToString:@ "iPod3,1" ])       return  @ "iPod Touch 3G" ;

     if  ([deviceString isEqualToString:@ "iPod4,1" ])       return  @ "iPod Touch 4G" ;

     if  ([deviceString isEqualToString:@ "iPad1,1" ])       return  @ "iPad" ;

     if  ([deviceString isEqualToString:@ "iPad2,1" ])       return  @ "iPad 2 (WiFi)" ;

     if  ([deviceString isEqualToString:@ "iPad2,2" ])       return  @ "iPad 2 (GSM)" ;

     if  ([deviceString isEqualToString:@ "iPad2,3" ])       return  @ "iPad 2 (CDMA)" ;

     if  ([deviceString isEqualToString:@ "i386" ])          return  @ "Simulator" ;

     if  ([deviceString isEqualToString:@ "x86_64" ])        return  @ "Simulator" ;

     NSLog (@ "NOTE: Unknown device type: %@" , deviceString);

     return  deviceString;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值