判别ios设备的类型

[cpp] view plain copy print ?
  1. if(UI_USER_INTERFACE_IDIOM() ==UIUserInterfaceIdiomPad) 
  2. //iPad 
  3. else 
  4. //iPhone or iTouch 


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


执行环境

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

[cpp] view plain copy print ?
  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 


或者也可以这样:

[cpp] view plain copy print ?
  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 


iPhone 机器版本的区分

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

[cpp] view plain copy print ?
  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 

iPhone OS 版本区分

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

[cpp] view plain copy print ?
  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 





你可能感兴趣的:(ios,UI,struct,user,iPhone,interface)