列表最新对照表: http://theiphonewiki.com/wiki/Models
方法:
#import "sys/utsname.h”
- struct utsname systemInfo;
- uname(&systemInfo);
- NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
这样得到的 deviceString 是iPhone5,2 的设备号,根据对照表可以获取到当前手机型号。
完整函数:
- struct utsname systemInfo;
- uname(&systemInfo);
- NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
- NSArray *modelArray = @[
- @"i386", @"x86_64",
- @"iPhone1,1",
- @"iPhone1,2",
- @"iPhone2,1",
- @"iPhone3,1",
- @"iPhone3,2",
- @"iPhone3,3",
- @"iPhone4,1",
- @"iPhone5,1",
- @"iPhone5,2",
- @"iPhone5,3",
- @"iPhone5,4",
- @"iPhone6,1",
- @"iPhone6,2",
- @"iPod1,1",
- @"iPod2,1",
- @"iPod3,1",
- @"iPod4,1",
- @"iPod5,1",
- @"iPad1,1",
- @"iPad2,1",
- @"iPad2,2",
- @"iPad2,3",
- @"iPad2,4",
- @"iPad3,1",
- @"iPad3,2",
- @"iPad3,3",
- @"iPad3,4",
- @"iPad3,5",
- @"iPad3,6",
- @"iPad2,5",
- @"iPad2,6",
- @"iPad2,7",
- ];
- NSArray *modelNameArray = @[
- @"iPhone Simulator", @"iPhone Simulator",
- @"iPhone 2G",
- @"iPhone 3G",
- @"iPhone 3GS",
- @"iPhone 4(GSM)",
- @"iPhone 4(GSM Rev A)",
- @"iPhone 4(CDMA)",
- @"iPhone 4S",
- @"iPhone 5(GSM)",
- @"iPhone 5(GSM+CDMA)",
- @"iPhone 5c(GSM)",
- @"iPhone 5c(Global)",
- @"iphone 5s(GSM)",
- @"iphone 5s(Global)",
- @"iPod Touch 1G",
- @"iPod Touch 2G",
- @"iPod Touch 3G",
- @"iPod Touch 4G",
- @"iPod Touch 5G",
- @"iPad",
- @"iPad 2(WiFi)",
- @"iPad 2(GSM)",
- @"iPad 2(CDMA)",
- @"iPad 2(WiFi + New Chip)",
- @"iPad 3(WiFi)",
- @"iPad 3(GSM+CDMA)",
- @"iPad 3(GSM)",
- @"iPad 4(WiFi)",
- @"iPad 4(GSM)",
- @"iPad 4(GSM+CDMA)",
- @"iPad mini (WiFi)",
- @"iPad mini (GSM)",
- @"ipad mini (GSM+CDMA)"
- ];
- NSInteger modelIndex = - 1;
- NSString *modelNameString = nil;
- modelIndex = [modelArray indexOfObject:deviceString];
- if (modelIndex >= 0 && modelIndex < [modelNameArray count]) {
- modelNameString = [modelNameArray objectAtIndex:modelIndex];
- }
- NSLog(@"----设备类型---%@",modelNameString);
注:struct utsname systemInfo; 这是LINUX系统放硬件版本的信息的地方
附录:
//手机序列号
NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier];
NSLog(@"手机序列号: %@",identifierNumber);
//手机别名: 用户定义的名称
NSString* userPhoneName = [[UIDevice currentDevice] name];
NSLog(@"手机别名: %@", userPhoneName);
//设备名称
NSString* deviceName = [[UIDevice currentDevice] systemName];
NSLog(@"设备名称: %@",deviceName );
//手机系统版本
NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];
NSLog(@"手机系统版本: %@", phoneVersion);
//手机型号
NSString* phoneModel = [[UIDevice currentDevice] model];
NSLog(@"手机型号: %@",phoneModel );
//地方型号 (国际化区域名称)
NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel];
NSLog(@"国际化区域名称: %@",localPhoneModel );
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
// 当前应用名称
NSString *appCurName = [infoDictionary objectForKey:@"CFBundleDisplayName"];
NSLog(@"当前应用名称:%@",appCurName);
// 当前应用软件版本 比如:1.0.1
NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
NSLog(@"当前应用软件版本:%@",appCurVersion);
// 当前应用版本号码 int类型
NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];
NSLog(@"当前应用版本号码:%@",appCurVersionNum);
2012-10-19 14:07:47.622 myDemo[5779:707] 手机序列号: 6685c75e34104be0b04c6ceb72985dc381f0f746
2012-10-19 14:07:47.624 myDemo[5779:707] 手机别名: “spring sky”的 iPod
2012-10-19 14:07:47.627 myDemo[5779:707] 设备名称: iPhone OS
2012-10-19 14:07:47.629 myDemo[5779:707] 手机系统版本: 5.1.1
2012-10-19 14:07:47.641 myDemo[5779:707] 手机型号: iPod touch
2012-10-19 14:07:47.642 myDemo[5779:707] 国际化区域名称: iPod touch
2012-10-19 14:07:47.643 myDemo[5779:707] 当前应用名称:myDemo
2012-10-19 14:07:47.645 myDemo[5779:707] 当前应用软件版本:1.0.1
2012-10-19 14:07:47.646 myDemo[5779:707] 当前应用版本号码:101
- // IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等
- NSLog(@"name: %@", [[UIDevice currentDevice] name]);
- NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]);
- NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]);
- NSLog(@"model: %@", [[UIDevice currentDevice] model]);
- NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]);
- NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
- CFShow((__bridge CFTypeRef)(infoDictionary));
- // app名称
- NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];
- // app版本
- NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
- // app build版本
- NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion”];