判别ios设备的类型

  1. if(UI_USER_INTERFACE_IDIOM() ==UIUserInterfaceIdiomPad) 
  2. //iPad 
  3. else 
  4. //iPhone or iTouch 
if(UI_USER_INTERFACE_IDIOM() ==UIUserInterfaceIdiomPad)
{
//iPad
}
else
{
//iPhone or iTouch
}


请注意,如果你在创建项目的时候只支持一种设备类型,上面的语句将始终返回选定ios设备类型,如项目只支持iPhone,即使在iPad上运行,前述的代码依然返回iPhone设备类型。


执行环境

我们可以从 UIDevice 的属性 model 得到在现在执行的环境。

  1. NSString *modelname = [[UIDevice currentDevice]model];  
  2. if ([modelname isEqualToString:@"iPhone"]) {  
  3. // iPhone 
  4. }  
  5. if ([modelname isEqualToString:@"IPod Touch"]) {  
  6. // iPod touch}  
  7. if ([modelname isEqualToString:@"iPhone Simulator"]) {  
  8. // iPhone Simulator 
NSString *modelname = [[UIDevice currentDevice]model]; 
if ([modelname isEqualToString:@"iPhone"]) { 
// iPhone
} 
if ([modelname isEqualToString:@"IPod Touch"]) { 
// iPod touch} 
if ([modelname isEqualToString:@"iPhone Simulator"]) { 
// iPhone Simulator
}


或者也可以这样:

  1. #import <TargetConditionals.h>  
  2. #if TARGET_OS_IPHONE  
  3. // iPhone Device 
  4. #endif  
  5. #if TARGET_IPHONE_SIMULATOR  
  6. // iPhone Simulator 
  7. #endif  
  8. #if !TARGET_IPHONE_SIMULATOR  
  9. // iPhone Device 
  10. #endif 
#import <TargetConditionals.h> 
#if TARGET_OS_IPHONE 
// iPhone Device
#endif 
#if TARGET_IPHONE_SIMULATOR 
// iPhone Simulator
#endif 
#if !TARGET_IPHONE_SIMULATOR 
// iPhone Device
#endif


iPhone 机器版本的区分

可以通过 uname 函数取得当前机器的版本。

  1. struct utsname u;  
  2. uname(&u);  
  3. NSString *machine = [NSStringstringWithCString:u.machine];  
  4. if ([machine isEqualToString:@"iPhone1,1"]) {  
  5. // iPhone 1G 
  6. if ([machine isEqualToString:@"iPhone1,2"]) {  
  7. // iPhone 3G 
  8. }  
  9. if ([machine isEqualToString:@"iPhone2,1"]) {  
  10. // iPhone 3GS 
  11. }  
  12. if ([machine isEqualToString:@"iPod1,1"]) {  
  13. // iPod touch 1G 
  14. }  
  15. if ([machine isEqualToString:@"iPod2,1"]) { 
  16. // iPod touch 2G 
  17. if([machine isEqualToString:@"iPod3,1"]) {  
  18. // iPod touch Late2009 
struct utsname u; 
uname(&u); 
NSString *machine = [NSStringstringWithCString:u.machine]; 
if ([machine isEqualToString:@"iPhone1,1"]) { 
// iPhone 1G
}
if ([machine isEqualToString:@"iPhone1,2"]) { 
// iPhone 3G
} 
if ([machine isEqualToString:@"iPhone2,1"]) { 
// iPhone 3GS
} 
if ([machine isEqualToString:@"iPod1,1"]) { 
// iPod touch 1G
} 
if ([machine isEqualToString:@"iPod2,1"]) {
 // iPod touch 2G
}
 if([machine isEqualToString:@"iPod3,1"]) { 
// iPod touch Late2009
}

iPhone OS 版本区分

可以使用 UIDevice 的属性 systemVersion 来得到。

  1.   
  2. NSString *osversion = [UIDevice currentDevice].systemVersion;  
  3. if ([osversion isEqualToString:@"2.1"]) {  
  4. // iPhone 
  5. }  
  6. if ([osversion isEqualToString:@"2.2.1"])  
  7.  
  8. {  
  9. // iPod touch 
  10. }  
  11. if ([osversion isEqualToString:@"3.0"]) {  
  12. // iPhone Simulator 
 
 NSString *osversion = [UIDevice currentDevice].systemVersion; 
if ([osversion isEqualToString:@"2.1"]) { 
// iPhone
} 
if ([osversion isEqualToString:@"2.2.1"]) 

{ 
// iPod touch
} 
if ([osversion isEqualToString:@"3.0"]) { 
// iPhone Simulator
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值