iOS获取设备的机型名称
2016-07-21 14:29
441 查看
若有新机型更新,可参考苹果官方文档:传送门Models
///根据设备型号Model获取设备名称
+ (NSString *)deviceName {
static NSString *deviceVersion = nil;
if (deviceVersion == nil) {
NSString *(^getDeviceModelInfo)(void) = ^NSString *(void){
struct utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithFormat:@"%s", systemInfo.machine];
return platform;
};
NSDictionary *deviceVersionNames = @{
@"i386": @"Simulator",
@"x86_64": @"Simulator",
@"iPhone1,1": @"iPhone 1",
@"iPhone1,2": @"iPhone 3",
@"iPhone2,1": @"iPhone 3S",
@"iPhone3,1": @"iPhone 4",
@"iPhone3,2": @"iPhone 4",
@"iPhone4,1": @"iPhone 4S",
@"iPhone5,1": @"iPhone 5",
@"iPhone5,2": @"iPhone 5",
@"iPhone5,3": @"iPhone 5C",
@"iPhone5,4": @"iPhone 5C",
@"iPhone6,1": @"iPhone 5S",
@"iPhone6,2": @"iPhone 5S",
@"iPhone7,1": @"iPhone 6Plus",
@"iPhone7,2": @"iPhone 6",
@"iPhone8,1": @"iPhone 6S",
@"iPhone8,2": @"iPhone 6SPlus",
@"iPhone8,4": @"iPhone SE",
@"iPhone9,1": @"iPhone 7",
@"iPhone9,2": @"iPhone 7Plus",
@"iPhone9,3": @"iPhone 7",
@"iPhone9,4": @"iPHone 7Plus",
@"iPod1,1": @"iPodTouch",
@"iPod2,1": @"iPodTouch2",
@"iPod3,1": @"iPodTouch3",
@"iPod4,1": @"iPodTouch4",
@"iPod5,1": @"iPodTouch5",
@"iPod7,1": @"iPodTouch6",
@"iPad1,1": @"iPad 1",
@"iPad2,1": @"iPad 2",
@"iPad2,2": @"iPad 2",
@"iPad2,3": @"iPad 2",
@"iPad2,4": @"iPad 2",
@"iPad2,5": @"iPad Mini",
@"iPad2,6": @"iPad Mini",
@"iPad2,7": @"iPad Mini",
@"iPad3,1": @"iPad 3",
@"iPad3,2": @"iPad 3",
@"iPad3,3": @"iPad 3",
@"iPad3,4": @"iPad 3",
@"iPad3,5": @"iPad 3",
@"iPad3,6": @"iPad 3",
@"iPad4,1": @"iPad Air",
@"iPad4,2": @"ipad Air",
@"iPad4,3": @"iPad Air",
@"iPad5,3": @"iPad Air2",
@"iPad5,4": @"iPad Air2",
};
NSString *deviceVersionInfo = getDeviceModelInfo();
deviceVersion = [deviceVersionNames valueForKey:deviceVersionInfo];
if (!deviceVersion) {
deviceVersion = deviceVersionInfo;
}
}
return deviceVersion;
}
///根据设备型号Model获取设备名称
+ (NSString *)deviceName {
static NSString *deviceVersion = nil;
if (deviceVersion == nil) {
NSString *(^getDeviceModelInfo)(void) = ^NSString *(void){
struct utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithFormat:@"%s", systemInfo.machine];
return platform;
};
NSDictionary *deviceVersionNames = @{
@"i386": @"Simulator",
@"x86_64": @"Simulator",
@"iPhone1,1": @"iPhone 1",
@"iPhone1,2": @"iPhone 3",
@"iPhone2,1": @"iPhone 3S",
@"iPhone3,1": @"iPhone 4",
@"iPhone3,2": @"iPhone 4",
@"iPhone4,1": @"iPhone 4S",
@"iPhone5,1": @"iPhone 5",
@"iPhone5,2": @"iPhone 5",
@"iPhone5,3": @"iPhone 5C",
@"iPhone5,4": @"iPhone 5C",
@"iPhone6,1": @"iPhone 5S",
@"iPhone6,2": @"iPhone 5S",
@"iPhone7,1": @"iPhone 6Plus",
@"iPhone7,2": @"iPhone 6",
@"iPhone8,1": @"iPhone 6S",
@"iPhone8,2": @"iPhone 6SPlus",
@"iPhone8,4": @"iPhone SE",
@"iPhone9,1": @"iPhone 7",
@"iPhone9,2": @"iPhone 7Plus",
@"iPhone9,3": @"iPhone 7",
@"iPhone9,4": @"iPHone 7Plus",
@"iPod1,1": @"iPodTouch",
@"iPod2,1": @"iPodTouch2",
@"iPod3,1": @"iPodTouch3",
@"iPod4,1": @"iPodTouch4",
@"iPod5,1": @"iPodTouch5",
@"iPod7,1": @"iPodTouch6",
@"iPad1,1": @"iPad 1",
@"iPad2,1": @"iPad 2",
@"iPad2,2": @"iPad 2",
@"iPad2,3": @"iPad 2",
@"iPad2,4": @"iPad 2",
@"iPad2,5": @"iPad Mini",
@"iPad2,6": @"iPad Mini",
@"iPad2,7": @"iPad Mini",
@"iPad3,1": @"iPad 3",
@"iPad3,2": @"iPad 3",
@"iPad3,3": @"iPad 3",
@"iPad3,4": @"iPad 3",
@"iPad3,5": @"iPad 3",
@"iPad3,6": @"iPad 3",
@"iPad4,1": @"iPad Air",
@"iPad4,2": @"ipad Air",
@"iPad4,3": @"iPad Air",
@"iPad5,3": @"iPad Air2",
@"iPad5,4": @"iPad Air2",
};
NSString *deviceVersionInfo = getDeviceModelInfo();
deviceVersion = [deviceVersionNames valueForKey:deviceVersionInfo];
if (!deviceVersion) {
deviceVersion = deviceVersionInfo;
}
}
return deviceVersion;
}
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- C#实现DataTable映射成Model的方法(附源码)
- 详解Backbone.js框架中的模型Model与其集合collection
- Backbone.js框架中Model与Collection的使用实例
- NopCommerce架构分析之(五)Model绑定Action参数
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- iOS App开发中的UISegmentedControl分段组件用法总结
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程