判断机型,支持最新设备(iPhone SE Gen2 和 iPad Pro 11 Gen2、iPad Pro 12.9 Gen4)

支持最新设备:iPhone SE Gen2, iPad Pro 11 & 12.9 Gen2/4
此更新已停止维护,现支持CocoaPods,专注于最新的iPhone SE第二代和iPad Pro 11英寸及12.9英寸的第二代和第四代设备。

2020-7-10 更新
⚠️已停止维护

现已支持CocoaPods

只涉及最新的iPhone和iPad设备

Github

// 导入这个框架
#import <sys/utsname.h>

+ (NSString *)getDeviceName {
    
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    
#pragma mark iPhone
    
    if ([deviceModel isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";
    if ([deviceModel isEqualToString:@"iPhone1,2"] ||
        [deviceModel isEqualToString:@"iPhone1,2*"])   return @"iPhone 3G";
    if ([deviceModel isEqualToString:@"iPhone2,1"] ||
        [deviceModel isEqualToString:@"iPhone2,1*"])   return @"iPhone 3GS";
    if ([deviceModel isEqualToString:@"iPhone3,1"] ||
        [deviceModel isEqualToString:@"iPhone3,2"] ||
        [deviceModel isEqualToString:@"iPhone3,3"])    return @"iPhone 4";
    if ([deviceModel isEqualToString:@"iPhone4,1"] ||
        [deviceModel isEqualToString:@"iPhone4,1*"])   return @"iPhone 4S";
    if ([deviceModel isEqualToString:@"iPhone5,1"] ||
        [deviceModel isEqualToString:@"iPhone5,2"])    return @"iPhone 5";
    if ([deviceModel isEqualToString:@"iPhone5,3"] ||
        [deviceModel isEqualToString:@"iPhone5,4"])    return @"iPhone 5C";
    if ([deviceModel isEqualToString:@"iPhone6,1"] ||
        [deviceModel isEqualToString:@"iPhone6,2"])    return @"iPhone 5S";
    if ([deviceModel isEqualToString:@"iPhone7,2"])    return @"iPhone 6";
    if ([deviceModel isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";
    if ([deviceModel isEqualToString:@"iPhone8,1"])    return @"iPhone 6s";
    if ([deviceModel isEqualToString:@"iPhone8,2"])    return @"iPhone 6s Plus";
    if ([deviceModel isEqualToString:@"iPhone8,4"])    return @"iPhone SE";
    if ([deviceModel isEqualToString:@"iPhone9,1"] ||
        [deviceModel isEqualToString:@"iPhone9,3"])    return @"iPhone 7";
    if ([deviceModel isEqualToString:@"iPhone9,2"] ||
        [deviceModel isEqualToString:@"iPhone9,4"])    return @"iPhone 7 Plus";
    if ([deviceModel isEqualToString:@"iPhone10,1"] ||
        [deviceModel isEqualToString:@"iPhone10,4"])   return @"iPhone 8";
    if ([deviceModel isEqualToString:@"iPhone10,2"] ||
        [deviceModel isEqualToString:@"iPhone10,5"])   return @"iPhone 8 Plus";
    if ([deviceModel isEqualToString:@"iPhone10,3"] ||
        [deviceModel isEqualToString:@"iPhone10,6"])   return @"iPhone X";
    if ([deviceModel isEqualToString:@"iPhone11,2"])   return @"iPhone XS";
    if ([deviceModel isEqualToString:@"iPhone11,6"])   return @"iPhone XS Max";
    if ([deviceModel isEqualToString:@"iPhone11,8"])   return @"iPhone XR";
    if ([deviceModel isEqualToString:@"iPhone12,1"])   return @"iPhone 11";
    if ([deviceModel isEqualToString:@"iPhone12,3"])   return @"iPhone 11 Pro";
    if ([deviceModel isEqualToString:@"iPhone12,5"])   return @"iPhone 11 Pro Max";
    if ([deviceModel isEqualToString:@"iPhone12,8"])   return @"iPhone SE Gen2";
    
#pragma mark iPad
    
    if ([deviceModel isEqualToString:@"iPad1,1"])      return @"iPad 1";
    if ([deviceModel isEqualToString:@"iPad2,1"] ||
        [deviceModel isEqualToString:@"iPad2,2"] ||
        [deviceModel isEqualToString:@"iPad2,3"] ||
        [deviceModel isEqualToString:@"iPad2,4"])      return @"iPad 2";
    if ([deviceModel isEqualToString:@"iPad3,1"] ||
        [deviceModel isEqualToString:@"iPad3,2"] ||
        [deviceModel isEqualToString:@"iPad3,3"])      return @"iPad 3";
    if ([deviceModel isEqualToString:@"iPad3,4"] ||
        [deviceModel isEqualToString:@"iPad3,5"] ||
        [deviceModel isEqualToString:@"iPad3,6"])      return @"iPad 4";
    if ([deviceModel isEqualToString:@"iPad2,5"] ||
        [deviceModel isEqualToString:@"iPad2,6"] ||
        [deviceModel isEqualToString:@"iPad2,7"])      return @"iPad mini";
    if ([deviceModel isEqualToString:@"iPad4,1"] ||
        [deviceModel isEqualToString:@"iPad4,2"] ||
        [deviceModel isEqualToString:@"iPad4,3"])      return @"iPad Air";
    if ([deviceModel isEqualToString:@"iPad4,4"] ||
        [deviceModel isEqualToString:@"iPad4,5"] ||
        [deviceModel isEqualToString:@"iPad4,6"])      return @"iPad mini 2";
    if ([deviceModel isEqualToString:@"iPad5,3"] ||
        [deviceModel isEqualToString:@"iPad5,4"])      return @"iPad Air 2";
    if ([deviceModel isEqualToString:@"iPad4,7"] ||
        [deviceModel isEqualToString:@"iPad4,8"] ||
        [deviceModel isEqualToString:@"iPad4,9"])      return @"iPad mini 3";
    if ([deviceModel isEqualToString:@"iPad5,1"] ||
        [deviceModel isEqualToString:@"iPad5,2"])      return @"iPad mini 4";
    if ([deviceModel isEqualToString:@"iPad6,7"] ||
        [deviceModel isEqualToString:@"iPad6,8"])      return @"iPad PRO 12.9 Gen1";
    if ([deviceModel isEqualToString:@"iPad6,3"] ||
        [deviceModel isEqualToString:@"iPad6,4"])      return @"iPad PRO 9.7 Gen1";
    if ([deviceModel isEqualToString:@"iPad6,11"] ||
        [deviceModel isEqualToString:@"iPad6,12"])     return @"iPad 9.7 Gen1";
    if ([deviceModel isEqualToString:@"iPad7,3"] ||
        [deviceModel isEqualToString:@"iPad7,4"])      return @"iPad PRO 10.5 Gen1";
    if ([deviceModel isEqualToString:@"iPad7,1"] ||
        [deviceModel isEqualToString:@"iPad7,2"])      return @"iPad PRO 2 12.9 Gen2";
    if ([deviceModel isEqualToString:@"iPad7,5"] ||
        [deviceModel isEqualToString:@"iPad7,6"])      return @"iPad 9.7 Gen2";
    if ([deviceModel isEqualToString:@"iPad8,1"] ||
        [deviceModel isEqualToString:@"iPad8,2**"] ||
        [deviceModel isEqualToString:@"iPad8,3"] ||
        [deviceModel isEqualToString:@"iPad8,4**"])    return @"iPad Pro 11 Gen1";
    if ([deviceModel isEqualToString:@"iPad8,5"] ||
        [deviceModel isEqualToString:@"iPad8,6**"] ||
        [deviceModel isEqualToString:@"iPad8,7"] ||
        [deviceModel isEqualToString:@"iPad8,8**"])    return @"iPad Pro 12.9 Gen3";
    if ([deviceModel isEqualToString:@"iPad11,3"] ||
        [deviceModel isEqualToString:@"iPad11,4"])      return @"iPad Air 3";
    if ([deviceModel isEqualToString:@"iPad11,1"] ||
        [deviceModel isEqualToString:@"iPad11,2"])      return @"iPad Mini 5";
    if ([deviceModel isEqualToString:@"iPad7,11"] ||
        [deviceModel isEqualToString:@"iPad7,12"])       return @"iPad 10.2";
    if ([deviceModel isEqualToString:@"iPad8,9"] ||
        [deviceModel isEqualToString:@"iPad8,10"])       return @"iPad Pro 11 Gen2";
    if ([deviceModel isEqualToString:@"iPad8,11"] ||
        [deviceModel isEqualToString:@"iPad8,12"])       return @"iPad Pro 12.9 Gen4";
    
#pragma mark Simulator
    
    if ([deviceModel isEqualToString:@"i386"] ||
        [deviceModel isEqualToString:@"x86_64"])       return @"Simulator";
    
    return deviceModel;
}

devices_models = { "i386": "iPhone Simulator", "x86_64": "iPhone Simulator", "iPhone1,1": "iPhone", "iPhone1,2": "iPhone 3G", "iPhone2,1": "iPhone 3GS", "iPhone3,1": "iPhone 4", "iPhone3,2": "iPhone 4 GSM Rev A", "iPhone3,3": "iPhone 4 CDMA", "iPhone5,1": "iPhone 5 (GSM)", "iPhone4,1": "iPhone 4S", "iPhone5,2": "iPhone 5 (GSM+CDMA)", "iPhone5,3": "iPhone 5C (GSM)", "iPhone5,4": "iPhone 5C (Global)", "iPhone6,1": "iPhone 5S (GSM)", "iPhone6,2": "iPhone 5S (Global)", "iPhone7,1": "iPhone 6 Plus", "iPhone7,2": "iPhone 6", "iPhone8,1": "iPhone 6s", "iPhone8,2": "iPhone 6s Plus", "iPhone8,3": "iPhone SE (GSM+CDMA)", "iPhone8,4": "iPhone SE (GSM)", "iPhone9,1": "iPhone 7", "iPhone9,2": "iPhone 7 Plus", "iPhone9,3": "iPhone 7", "iPhone9,4": "iPhone 7 Plus", "iPhone10,1": "iPhone 8", "iPhone10,2": "iPhone 8 Plus", "iPhone10,3": "iPhone X Global", "iPhone10,4": "iPhone 8", "iPhone10,5": "iPhone 8 Plus", "iPhone10,6": "iPhone X GSM", "iPhone11,2": "iPhone XS", "iPhone11,4": "iPhone XS Max", "iPhone11,6": "iPhone XS Max Global", "iPhone11,8": "iPhone XR", "MacBookPro15,1": "MacBook Pro 15, 2019", "MacBookPro15,2": "MacBook Pro 13, 2019", "MacBookPro15,1": "MacBook Pro 15, 2018", "MacBookPro15,2": "MacBook Pro 13, 2018", "MacBookPro14,3": "MacBook Pro 15, 2017", "MacBookPro14,2": "MacBook Pro 13, 2017", "MacBookPro14,1": "MacBook Pro 13, 2017", "MacBookPro13,3": "MacBook Pro 15, 2016", "MacBookPro13,2": "MacBook Pro 13, 2016", "MacBookPro13,1": "MacBook Pro 13, 2016", "MacBookPro11,4": "MacBook Pro 15, mid 2015", "MacBookPro11,5": "MacBook Pro 15, mid 2015", "MacBookPro12,1": "MacBook Pro 13, ear 2015", "MacBookPro11,2": "MacBook Pro 15, mid 2014", "MacBookPro11,3": "MacBook Pro 15, mid 2014", "MacBookPro11,1": "MacBook Pro 13, mid 2014", "MacBookPro11,2": "MacBook Pro 15, end 2013", "MacBookPro11,3": "MacBook Pro 15, end 2013", "MacBookPro10,1": "MacBook Pro 15, ear 2013", "MacBookPro11,1": "MacBook Pro 13, end 2013", "MacBookPro10,2": "MacBook Pro 13, ear 2013", "MacBookPro10,1": "MacBook Pro 15, mid 2012", "MacBookPro9,1": "MacBook Pro 15, mid 2012", "MacBookPro10,2": "MacBook Pro 15, mid 2012", "MacBookPro9,2": "MacBook Pro 15, mid 2012", "MacBookPro8,3": "MacBook Pro 17, end 2011", "MacBookPro8,3": "MacBook Pro 17, ear 2011", "MacBookPro8,2": "MacBook Pro 15, end 2011", "MacBookPro8,2": "MacBook Pro 15, ear 2011", "MacBookPro8,1": "MacBook Pro 13, end 2011", "MacBookPro8,1": "MacBook Pro 13, ear 2011", "MacBookPro6,1": "MacBook Pro 17, mid 2010", "MacBookPro6,2": "MacBook Pro 15, mid 2010", "MacBookPro7,1": "MacBook Pro 13, mid 2010", "MacBookPro5,2": "MacBook Pro 17, mid 2009", "MacBookPro5,2": "MacBook Pro 17, ear 2009", "MacBookPro5,3": "MacBook Pro 15, mid 2009", "MacBookPro5,3": "MacBook Pro 15, mid 2009", "MacBookPro5,5": "MacBook Pro 13, mid 2009", "MacBookPro5,1": "MacBook Pro 15, end 2008", "MacBookPro4,1": "MacBook Pro 17, ear 2008", "MacBookPro4,1": "MacBook Pro 15, ear 2008", "iPod1,1": "1st Gen iPod", "iPod2,1": "2nd Gen iPod", "iPod3,1": "3rd Gen iPod", "iPod4,1": "4th Gen iPod", "iPod5,1": "5th Gen iPod", "iPod7,1": "6th Gen iPod", "iPad1,1": "iPad", "iPad1,2": "iPad 3G", "iPad2,1": "2nd Gen iPad", "iPad2,2": "2nd Gen iPad GSM", "iPad2,3": "2nd Gen iPad CDMA", "iPad2,4": "2nd Gen iPad New Revision", "iPad3,1": "3rd Gen iPad", "iPad3,2": "3rd Gen iPad CDMA", "iPad3,3": "3rd Gen iPad GSM", "iPad2,5": "iPad mini", "iPad2,6": "iPad mini GSM+LTE", "iPad2,7": "iPad mini CDMA+LTE", "iPad3,4": "4th Gen iPad", "iPad3,5": "4th Gen iPad GSM+LTE", "iPad3,6": "4th Gen iPad CDMA+LTE", "iPad4,1": "iPad Air (WiFi)", "iPad4,2": "iPad Air (GSM+CDMA)", "iPad4,3": "1st Gen iPad Air (China)", "iPad4,4": "iPad mini Retina (WiFi)", "iPad4,5": "iPad mini Retina (GSM+CDMA)", "iPad4,6": "iPad mini Retina (China)", "iPad4,7": "iPad mini 3 (WiFi)", "iPad4,8": "iPad mini 3 (GSM+CDMA)", "iPad4,9": "iPad Mini 3 (China)", "iPad5,1": "iPad mini 4 (WiFi)", "iPad5,2": "4th Gen iPad mini (WiFi+Cellular)", "iPad5,3": "iPad Air 2 (WiFi)", "iPad5,4": "iPad Air 2 (Cellular)", "iPad6,3": "iPad Pro (9.7 inch, WiFi)", "iPad6,4": "iPad Pro (9.7 inch, WiFi+LTE)", "iPad6,7": "iPad Pro (12.9 inch, WiFi)", "iPad6,8": "iPad Pro (12.9 inch, WiFi+LTE)", "iPad6,11": "iPad (2017)", "iPad6,12": "iPad (2017)", "iPad7,1": "iPad Pro 2nd Gen (WiFi)", "iPad7,2": "iPad Pro 2nd Gen (WiFi+Cellular)", "iPad7,3": "iPad Pro 10.5-inch", "iPad7,4": "iPad Pro 10.5-inch", "iPad7,5": "iPad 6th Gen (WiFi)", "iPad7,6": "iPad 6th Gen (WiFi+Cellular)", "iPad8,1": "iPad Pro 3rd Gen (11 inch, WiFi)", "iPad8,2": "iPad Pro 3rd Gen (11 inch, 1TB, WiFi)", "iPad8,3": "iPad Pro 3rd Gen (11 inch, WiFi+Cellular)", "iPad8,4": "iPad Pro 3rd Gen (11 inch, 1TB, WiFi+Cellular)", "iPad8,5": "iPad Pro 3rd Gen (12.9 inch, WiFi)", "iPad8,6": "iPad Pro 3rd Gen (12.9 inch, 1TB, WiFi)", "iPad8,7": "iPad Pro 3rd Gen (12.9 inch, WiFi+Cellular)", "iPad8,8": "iPad Pro 3rd Gen (12.9 inch, 1TB, WiFi+Cellular)", "Watch1,1": "Apple Watch 38mm case", "Watch1,2": "Apple Watch 38mm case", "Watch2,6": "Apple Watch Series 1 38mm case", "Watch2,7": "Apple Watch Series 1 42mm case", "Watch2,3": "Apple Watch Series 2 38mm case", "Watch2,4": "Apple Watch Series 2 42mm case", "Watch3,1": "Apple Watch Series 3 38mm case (GPS+Cellular)", "Watch3,2": "Apple Watch Series 3 42mm case (GPS+Cellular)", "Watch3,3": "Apple Watch Series 3 38mm case (GPS)", "Watch3,4": "Apple Watch Series 3 42mm case (GPS)", "Watch4,1": "Apple Watch Series 4 40mm case (GPS)", "Watch4,2": "Apple Watch Series 4 44mm case (GPS)", "Watch4,3": "Apple Watch Series 4 40mm case (GPS+Cellular)", "Watch4,4": "Apple Watch Series 4 44mm case (GPS+Cellular)", } 他是通过这些东西来判断的,怎么得到iPhone10,4这样的字段
10-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值