获取ios设备型号

来源:互联网 发布:手机淘宝网电脑版登陆 编辑:程序博客网 时间:2024/05/17 06:47

原文:http://blog.csdn.net/luoyeffcs/article/details/18610839 

github下载地址(包含最新设备):https://github.com/fahrulazmi/UIDeviceHardware


1.IOS 获取最新设备型号方法
列表最新对照表:http://theiphonewiki.com/wiki/Models
方法:

#import "sys/utsname.h”

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
  1. struct utsname systemInfo;  
  2.    uname(&systemInfo);  
  3.   
  4.    NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];  

这样得到的   deviceString  是iPhone5,2 的设备号,根据对照表可以获取到当前手机型号。

完整函数:

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
  1. struct utsname systemInfo;  
  2.     uname(&systemInfo);  
  3.     NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];  
  4.    
  5.     NSArray *modelArray = @[  
  6.                               
  7.                             @"i386"@"x86_64",  
  8.                               
  9.                             @"iPhone1,1",  
  10.                             @"iPhone1,2",  
  11.                             @"iPhone2,1",  
  12.                             @"iPhone3,1",  
  13.                             @"iPhone3,2",  
  14.                             @"iPhone3,3",  
  15.                             @"iPhone4,1",  
  16.                             @"iPhone5,1",  
  17.                             @"iPhone5,2",  
  18.                             @"iPhone5,3",  
  19.                             @"iPhone5,4",  
  20.                             @"iPhone6,1",  
  21.                             @"iPhone6,2",  
  22.                               
  23.                             @"iPod1,1",  
  24.                             @"iPod2,1",  
  25.                             @"iPod3,1",  
  26.                             @"iPod4,1",  
  27.                             @"iPod5,1",  
  28.                               
  29.                             @"iPad1,1",  
  30.                             @"iPad2,1",  
  31.                             @"iPad2,2",  
  32.                             @"iPad2,3",  
  33.                             @"iPad2,4",  
  34.                             @"iPad3,1",  
  35.                             @"iPad3,2",  
  36.                             @"iPad3,3",  
  37.                             @"iPad3,4",  
  38.                             @"iPad3,5",  
  39.                             @"iPad3,6",  
  40.                               
  41.                             @"iPad2,5",  
  42.                             @"iPad2,6",  
  43.                             @"iPad2,7",  
  44.                             ];  
  45.     NSArray *modelNameArray = @[  
  46.                                   
  47.                                 @"iPhone Simulator"@"iPhone Simulator",  
  48.                                   
  49.                                 @"iPhone 2G",  
  50.                                 @"iPhone 3G",  
  51.                                 @"iPhone 3GS",  
  52.                                 @"iPhone 4(GSM)",  
  53.                                 @"iPhone 4(GSM Rev A)",  
  54.                                 @"iPhone 4(CDMA)",  
  55.                                 @"iPhone 4S",  
  56.                                 @"iPhone 5(GSM)",  
  57.                                 @"iPhone 5(GSM+CDMA)",  
  58.                                 @"iPhone 5c(GSM)",  
  59.                                 @"iPhone 5c(Global)",  
  60.                                 @"iphone 5s(GSM)",  
  61.                                 @"iphone 5s(Global)",  
  62.                                   
  63.                                 @"iPod Touch 1G",  
  64.                                 @"iPod Touch 2G",  
  65.                                 @"iPod Touch 3G",  
  66.                                 @"iPod Touch 4G",  
  67.                                 @"iPod Touch 5G",  
  68.                                   
  69.                                 @"iPad",  
  70.                                 @"iPad 2(WiFi)",  
  71.                                 @"iPad 2(GSM)",  
  72.                                 @"iPad 2(CDMA)",  
  73.                                 @"iPad 2(WiFi + New Chip)",  
  74.                                 @"iPad 3(WiFi)",  
  75.                                 @"iPad 3(GSM+CDMA)",  
  76.                                 @"iPad 3(GSM)",  
  77.                                 @"iPad 4(WiFi)",  
  78.                                 @"iPad 4(GSM)",  
  79.                                 @"iPad 4(GSM+CDMA)",  
  80.                                   
  81.                                 @"iPad mini (WiFi)",  
  82.                                 @"iPad mini (GSM)",  
  83.                                 @"ipad mini (GSM+CDMA)"  
  84.                                 ];  
  85.     NSInteger modelIndex = - 1;  
  86.     NSString *modelNameString = nil;  
  87.     modelIndex = [modelArray indexOfObject:deviceString];  
  88.     if (modelIndex >= 0 && modelIndex < [modelNameArray count]) {  
  89.         modelNameString = [modelNameArray objectAtIndex:modelIndex];  
  90.     }  
  91.       
  92.   
  93.     NSLog(@"----设备类型---%@",modelNameString);  

注:struct utsname systemInfo; 这是LINUX系统放硬件版本的信息的地方


附录:

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
  1. //    IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等  
  2.     NSLog(@"name: %@", [[UIDevice currentDevice] name]);  
  3.     NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]);  
  4.     NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]);  
  5.     NSLog(@"model: %@", [[UIDevice currentDevice] model]);  
  6.     NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]);  
  7.       
  8.       
  9.       
  10.     NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];  
  11.       
  12.     CFShow((__bridge CFTypeRef)(infoDictionary));  
  13.       
  14.     // app名称  
  15.     NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];  
  16.     // app版本  
  17.     NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];  
  18.     // app build版本  
  19.     NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion”];  

0 0