列表最新對照表: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”];