关于获取ios系统版本号 与 获取iphone设备型号的相关代码搜集

      一、获取iOS设备的型号     

?
// 需要#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;


二、 另一种更加暴力的获取设备型号的方法就是直接去读屏幕的长宽

#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height == 568) ? YES : NO)

#define IS_IPhone6 (667 == [[UIScreen mainScreen] bounds].size.height ? YES : NO)

#define IS_IPhone6plus (736 == [[UIScreen mainScreen] bounds].size.height ? YES : NO)

这种方法的好处是更加直接,代码量也少,但是缺点在于 如果没有适配大屏,分辨率永远是 568。


三、获得Ios系统版本号的函数copy

  1. + (float)getIOSVersion  
  2. {  
  3.     return [[[UIDevice currentDevice] systemVersion] floatValue];  
  4. }  

你可能感兴趣的:(ios)