如何判断当前iOS设备

移动开发 iOS
本文为51CTO的各位网友介绍了开发当中几种判断当前iOS设备的实现方法,简单粗暴的代码段展现,希望对大家能有所帮助。

1.在程序中涉及到全屏的宽高的时候,初始化的时候,代码中不要写320和480

  1. #define Screen_height   [[UIScreen mainScreen] bounds].size.height 
  2. #define Screen_width    [[UIScreen mainScreen] bounds].size.width  

2.使用宏定义方法判断

 

  1.  #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) 
  2. if(iPhone5){ 
  3.     /*代码操作*/ 
  4. }else
  5.     /*代码操作*/ 
  6. if([ [ UIDevice currentDevice ] userInterfaceIdiom ] == UIUserInterfaceIdiomPhone ){ 
  7.     //IPhone设备 
  8. }else
  9.     //ipad设备 
  10. }  

 

网上还有一种方法:

  1. + (NSString*)deviceString  
  2.         {  
  3.             // 需要#import "sys/utsname.h"  
  4.             struct utsname systemInfo;  
  5.             uname(&systemInfo);  
  6.             NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];                  
  7.             if ([deviceString isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";  
  8.             if ([deviceString isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";  
  9.             if ([deviceString isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";  
  10.             if ([deviceString isEqualToString:@"iPhone3,1"])    return @"iPhone 4";  
  11.             if ([deviceString isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";  
  12.             if ([deviceString isEqualToString:@"iPhone5,2"])    return @"iPhone 5";  
  13.             if ([deviceString isEqualToString:@"iPhone3,2"])    return @"Verizon iPhone 4";  
  14.             if ([deviceString isEqualToString:@"iPod1,1"])      return @"iPod Touch 1G";  
  15.             if ([deviceString isEqualToString:@"iPod2,1"])      return @"iPod Touch 2G";  
  16.             if ([deviceString isEqualToString:@"iPod3,1"])      return @"iPod Touch 3G";  
  17.             if ([deviceString isEqualToString:@"iPod4,1"])      return @"iPod Touch 4G";  
  18.             if ([deviceString isEqualToString:@"iPad1,1"])      return @"iPad";  
  19.             if ([deviceString isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";  
  20.             if ([deviceString isEqualToString:@"iPad2,2"])      return @"iPad 2 (GSM)";  
  21.             if ([deviceString isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";  
  22.             if ([deviceString isEqualToString:@"i386"])         return @"Simulator";  
  23.             if ([deviceString isEqualToString:@"x86_64"])       return @"Simulator";  
  24.             NSLog(@"NOTE: Unknown device type: %@", deviceString);  
  25.             return deviceString;  
  26.         } 

 

责任编辑:闫佳明 来源: oschina
相关推荐

2014-05-30 10:50:51

iOS捕捉签名

2021-09-27 07:57:15

MEAT安全工具安全取证

2020-10-19 10:35:43

iOS设备尺寸

2017-03-24 08:30:00

2011-08-22 16:39:15

iOS内存

2013-06-08 15:48:32

iOS App苹果iOS开发者

2012-04-12 10:15:23

2021-08-21 23:33:16

iOS苹果系统

2011-03-08 09:28:10

iOS4.3iOSiPad

2012-12-20 13:17:24

2011-07-26 17:50:07

iOS 设备

2012-05-17 12:38:43

iOS

2010-07-01 22:12:27

移动设备iOS 迈克菲

2011-09-14 14:17:44

AirPlayitiOS设备

2014-09-22 10:55:14

2012-10-24 15:01:56

62%的市场份额专属应用22.5万个

2015-12-17 11:44:28

2012-03-30 09:20:41

移动广告谷歌iOS

2023-02-13 14:42:37

2020-10-19 12:10:41

物联网
点赞
收藏

51CTO技术栈公众号