IOS获取设备类型 (更新添加iPhone6 & iPhone6 Plus)
来源:互联网 发布:董小飒淘宝店 编辑:程序博客网 时间:2024/05/01 22:39
/* Erica Sadun, http://ericasadun.com iPhone Developer's Cookbook, 6.x Edition BSD License, Use at your own risk Modified by Eric Horacek for Monospace Ltd. on 2/4/13 */#include <sys/sysctl.h>#import "UIDevice-Hardware.h"@interface UIDevice (Hardward)- (NSString *)modelNameForModelIdentifier:(NSString *)modelIdentifier;@end@implementation UIDevice (Hardware)- (NSString *)getSysInfoByName:(char *)typeSpecifier{ size_t size; sysctlbyname(typeSpecifier, NULL, &size, NULL, 0); char *answer = malloc(size); sysctlbyname(typeSpecifier, answer, &size, NULL, 0); NSString *results = [NSString stringWithCString:answer encoding: NSUTF8StringEncoding]; free(answer); return results;}- (NSString *)modelIdentifier{ return [self getSysInfoByName:"hw.machine"];}- (NSString *)modelName{ return [self modelNameForModelIdentifier:[self modelIdentifier]];}- (NSString *)modelNameForModelIdentifier:(NSString *)modelIdentifier{ // iPhone http://theiphonewiki.com/wiki/IPhone if ([modelIdentifier isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"; if ([modelIdentifier isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; if ([modelIdentifier isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; if ([modelIdentifier isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (GSM)"; if ([modelIdentifier isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (GSM Rev A)"; if ([modelIdentifier isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (CDMA)"; if ([modelIdentifier isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([modelIdentifier isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (GSM)"; if ([modelIdentifier isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (Global)"; if ([modelIdentifier isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (GSM)"; if ([modelIdentifier isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (Global)"; if ([modelIdentifier isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (GSM)"; if ([modelIdentifier isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (Global)"; if ([modelIdentifier isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus"; if ([modelIdentifier isEqualToString:@"iPhone7,2"]) return @"iPhone 6"; // iPad http://theiphonewiki.com/wiki/IPad if ([modelIdentifier isEqualToString:@"iPad1,1"]) return @"iPad 1G"; if ([modelIdentifier isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([modelIdentifier isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"; if ([modelIdentifier isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([modelIdentifier isEqualToString:@"iPad2,4"]) return @"iPad 2 (Rev A)"; if ([modelIdentifier isEqualToString:@"iPad3,1"]) return @"iPad 3 (WiFi)"; if ([modelIdentifier isEqualToString:@"iPad3,2"]) return @"iPad 3 (GSM)"; if ([modelIdentifier isEqualToString:@"iPad3,3"]) return @"iPad 3 (Global)"; if ([modelIdentifier isEqualToString:@"iPad3,4"]) return @"iPad 4 (WiFi)"; if ([modelIdentifier isEqualToString:@"iPad3,5"]) return @"iPad 4 (GSM)"; if ([modelIdentifier isEqualToString:@"iPad3,6"]) return @"iPad 4 (Global)"; if ([modelIdentifier isEqualToString:@"iPad4,1"]) return @"iPad Air (WiFi)"; if ([modelIdentifier isEqualToString:@"iPad4,2"]) return @"iPad Air (Cellular)"; // iPad Mini http://theiphonewiki.com/wiki/IPad_mini if ([modelIdentifier isEqualToString:@"iPad2,5"]) return @"iPad mini 1G (WiFi)"; if ([modelIdentifier isEqualToString:@"iPad2,6"]) return @"iPad mini 1G (GSM)"; if ([modelIdentifier isEqualToString:@"iPad2,7"]) return @"iPad mini 1G (Global)"; if ([modelIdentifier isEqualToString:@"iPad4,4"]) return @"iPad mini 2G (WiFi)"; if ([modelIdentifier isEqualToString:@"iPad4,5"]) return @"iPad mini 2G (Cellular)"; // iPod http://theiphonewiki.com/wiki/IPod if ([modelIdentifier isEqualToString:@"iPod1,1"]) return @"iPod touch 1G"; if ([modelIdentifier isEqualToString:@"iPod2,1"]) return @"iPod touch 2G"; if ([modelIdentifier isEqualToString:@"iPod3,1"]) return @"iPod touch 3G"; if ([modelIdentifier isEqualToString:@"iPod4,1"]) return @"iPod touch 4G"; if ([modelIdentifier isEqualToString:@"iPod5,1"]) return @"iPod touch 5G"; // Simulator if ([modelIdentifier hasSuffix:@"86"] || [modelIdentifier isEqual:@"x86_64"]) { BOOL smallerScreen = ([[UIScreen mainScreen] bounds].size.width < 768.0); return (smallerScreen ? @"iPhone Simulator" : @"iPad Simulator"); } return modelIdentifier;}- (UIDeviceFamily) deviceFamily{ NSString *modelIdentifier = [self modelIdentifier]; if ([modelIdentifier hasPrefix:@"iPhone"]) return UIDeviceFamilyiPhone; if ([modelIdentifier hasPrefix:@"iPod"]) return UIDeviceFamilyiPod; if ([modelIdentifier hasPrefix:@"iPad"]) return UIDeviceFamilyiPad; return UIDeviceFamilyUnknown;}@end
0 0
- IOS获取设备类型 (更新添加iPhone6 & iPhone6 Plus)
- ios 获取设备型号 最新(包含iphone6 and 6 plus)
- iOS获取设备型号(更新到iPhone6,6p)
- 关于iPhone6、plus等设备获取设备类型名称的方法
- 最全最新获取各种设备号 (含iphone6,iphone6 plus)
- ios新设备(包括iphone6和iphone6 plus)的开发用分辨率和像素
- iphone6 plus
- iOS app 适配 iPhone6/iPhone6 plus 遇到的问题
- 适配iPhone6和iPhone6 Plus
- iPhone6和iPhone6 Plus 尺寸
- 适配iPhone6和iPhone6 Plus
- 适配iPhone6和iPhone6 Plus
- 适配iPhone6和iPhone6 Plus
- 适配iPhone6和iPhone6 Plus
- 适配 iPhone6 和 iPhone6 Plus
- iPhone6 Plus、iPhone6、iPhone5S分辨率
- (转)获取iOS设备型号(最新iPhone6+、iPad4)
- iphone6 plus以下设备适配经验总结
- ctags使用
- thingking in Java 泛型
- TRIZ系列-创新原理-13-反过来做原理
- Building Fire Stations 39届亚洲赛牡丹江站B题
- nonatomic 表示原子
- IOS获取设备类型 (更新添加iPhone6 & iPhone6 Plus)
- oracle强化练习之分组函数
- java获取工程目录下文件
- Struts2 学习笔记——struts.xml文件之拦截器的配置
- 第一个C语言程序
- DP题目列表,再续中。。。
- 虚函数在C++中用的作用是什么? 为什么要用到虚函数?
- 获取指定目录下的文件
- [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)