苹果设备类型对照表----支持iPhone、iPad、Apple Watch

支持最新款iPhone XS 系列,iPad Pro系列

更新日期:2018年11月14日

另外附上一篇文章:iPhone屏幕尺寸、逻辑分辨率、物理分辨率、像素密度 (2018) 对照表

HXDevice.h

#import <UIKit/UIKit.h>

@interface UIDevice (HXDevice)

- (NSString*)deviceModelName; //设备类型

@end

HXDevice.m

#import "UIDevice+HXDevice.h"
#import <sys/utsname.h>

@implementation UIDevice (HXDevice)

/**
 苹果设备类型对应表
 支持 iPhone系列、iPad系列、Apple Watch系列

 @return 设备类型
 */
- (NSString*)deviceModelName
{
    struct utsname systemInfo;
    
    uname(&systemInfo);
    
    NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    
    //iPhone 系列
    if ([deviceModel isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";
    
    if ([deviceModel isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";
    
    if ([deviceModel isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";
    
    if ([deviceModel isEqualToString:@"iPhone3,1"])    return @"iPhone 4";
    
    if ([deviceModel isEqualToString:@"iPhone3,2"])    return @"iPhone 4";
    
    if ([deviceModel isEqualToString:@"iPhone3,3"])    return @"iPhone 4";
    
    if ([deviceModel isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";
    
    if ([deviceModel isEqualToString:@"iPhone5,1"])    return @"iPhone 5";
    
    if ([deviceModel isEqualToString:@"iPhone5,2"])    return @"iPhone 5";
    
    if ([deviceModel isEqualToString:@"iPhone5,3"])    return @"iPhone 5C";
    
    if ([deviceModel isEqualToString:@"iPhone5,4"])    return @"iPhone 5C";
    
    if ([deviceModel isEqualToString:@"iPhone6,1"])    return @"iPhone 5S";
    
    if ([deviceModel isEqualToString:@"iPhone6,2"])    return @"iPhone 5S";
    
    if ([deviceModel isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";
    
    if ([deviceModel isEqualToString:@"iPhone7,2"])    return @"iPhone 6";
    
    if ([deviceModel isEqualToString:@"iPhone8,1"])    return @"iPhone 6s";
    
    if ([deviceModel isEqualToString:@"iPhone8,2"])    return @"iPhone 6s Plus";
    
    if ([deviceModel isEqualToString:@"iPhone9,1"])    return @"iPhone 7";
    
    if ([deviceModel isEqualToString:@"iPhone9,3"])    return @"iPhone 7";
    
    if ([deviceModel isEqualToString:@"iPhone9,2"])    return @"iPhone 7 Plus";
    
    if ([deviceModel isEqualToString:@"iPhone9,4"])    return @"iPhone 7 Plus";
    
    if ([deviceModel isEqualToString:@"iPhone10,1"])   return @"iPhone 8";
    
    if ([deviceModel isEqualToString:@"iPhone10,4"])   return @"iPhone 8";
    
    if ([deviceModel isEqualToString:@"iPhone10,2"])   return @"iPhone 8 Plus";
    
    if ([deviceModel isEqualToString:@"iPhone10,5"])   return @"iPhone 8 Plus";
    
    if ([deviceModel isEqualToString:@"iPhone10,3"])   return @"iPhone X";
    
    if ([deviceModel isEqualToString:@"iPhone10,6"])   return @"iPhone X";
    
    if ([deviceModel isEqualToString:@"iPhone11,2"])   return @"iPhone XS";
    
    if ([deviceModel isEqualToString:@"iPhone11,4"])   return @"iPhone XS Max";
    
    if ([deviceModel isEqualToString:@"iPhone11,6"])   return @"iPhone XS Max";

    if ([deviceModel isEqualToString:@"iPhone11,8"])   return @"iPhone XR";
    
    //iPod 系列
    
    if ([deviceModel isEqualToString:@"iPod1,1"])      return @"iPod Touch 1";
    
    if ([deviceModel isEqualToString:@"iPod2,1"])      return @"iPod Touch 2";
    
    if ([deviceModel isEqualToString:@"iPod3,1"])      return @"iPod Touch 3";
    
    if ([deviceModel isEqualToString:@"iPod4,1"])      return @"iPod Touch 4";
    
    if ([deviceModel isEqualToString:@"iPod5,1"])      return @"iPod Touch 5";
    
    if ([deviceModel isEqualToString:@"iPod7,1"])      return @"iPod Touch 6";
    
    //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:@"iPad2,5"]
        ||[deviceModel isEqualToString:@"iPad2,6"]
        ||[deviceModel isEqualToString:@"iPad2,7"])    return @"iPad mini";
    
    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:@"iPad4,1"]
        ||[deviceModel isEqualToString:@"iPad4,2"]
        ||[deviceModel isEqualToString:@"iPad4,3"])    return @"iPad Air";
    
    if ([deviceModel isEqualToString:@"iPad5,3"]
        ||[deviceModel isEqualToString:@"iPad5,4"])    return @"iPad Air 2";
    
    if ([deviceModel isEqualToString:@"iPad6,11"]
        ||[deviceModel isEqualToString:@"iPad6,12"])   return @"iPad 5";
    
    if ([deviceModel isEqualToString:@"i386"])         return @"Simulator";
    
    if ([deviceModel isEqualToString:@"x86_64"])       return @"Simulator";
    
    if ([deviceModel isEqualToString:@"iPad4,4"]
        ||[deviceModel isEqualToString:@"iPad4,5"]
        ||[deviceModel isEqualToString:@"iPad4,6"])    return @"iPad mini 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-inch)";
    
    if ([deviceModel isEqualToString:@"iPad7,1"]
        ||[deviceModel isEqualToString:@"iPad7,2"])    return @"iPad Pro 2 (12.9-inch)";
    
    if ([deviceModel isEqualToString:@"iPad7,3"]
        ||[deviceModel isEqualToString:@"iPad7,4"])    return @"iPad Pro (10.5-inch)";
    
    if ([deviceModel isEqualToString:@"iPad6,3"]
        ||[deviceModel isEqualToString:@"iPad6,4"])    return @"iPad Pro (9.7-inch)";
    
    if ([deviceModel isEqualToString:@"iPad7,5"]
        ||[deviceModel isEqualToString:@"iPad7,6"])    return @"iPad 6";
    
    if ([deviceModel isEqualToString:@"iPad8,1"]
        ||[deviceModel isEqualToString:@"iPad8,2"]
        ||[deviceModel isEqualToString:@"iPad8,3"]
        ||[deviceModel isEqualToString:@"iPad8,4"])    return @"iPad Pro 3 (11-inch)";
    
    if ([deviceModel isEqualToString:@"iPad8,5"]
        ||[deviceModel isEqualToString:@"iPad8,6"]
        ||[deviceModel isEqualToString:@"iPad8,7"]
        ||[deviceModel isEqualToString:@"iPad8,8"])    return @"iPad Pro 3 (12.9-inch)";
    
    //Apple Watch 系列
    
    if ([deviceModel isEqualToString:@"Watch1,1"])     return @"Apple Watch (38mm)";

    if ([deviceModel isEqualToString:@"Watch1,2"])     return @"Apple Watch (42mm)";

    if ([deviceModel isEqualToString:@"Watch2,3"])     return @"Apple Watch Series 2 (38mm)";

    if ([deviceModel isEqualToString:@"Watch2,4"])     return @"Apple Watch Series 2 (42mm)";

    if ([deviceModel isEqualToString:@"Watch2,6"])     return @"Apple Watch Series 1 (38mm)";

    if ([deviceModel isEqualToString:@"Watch2,7"])     return @"Apple Watch Series 1 (42mm)";

    if ([deviceModel isEqualToString:@"Watch3,1"])     return @"Apple Watch Series 3 (38mm, LTE)";

    if ([deviceModel isEqualToString:@"Watch3,2"])     return @"Apple Watch Series 3 (42mm, LTE)";

    if ([deviceModel isEqualToString:@"Watch3,3"])     return @"Apple Watch Series 3 (38mm)";

    if ([deviceModel isEqualToString:@"Watch3,4"])     return @"Apple Watch Series 3 (42mm)";
    
    if ([deviceModel isEqualToString:@"Watch4,1"])     return @"Apple Watch Series 4 (40mm)";
    
    if ([deviceModel isEqualToString:@"Watch4,2"])     return @"Apple Watch Series 4 (44mm)";
    
    if ([deviceModel isEqualToString:@"Watch4,3"])     return @"Apple Watch Series 4 (40mm, LTE)";
    
    if ([deviceModel isEqualToString:@"Watch4,4"])     return @"Apple Watch Series 4 (44mm, LTE)";
    
    return deviceModel;
}

@end

参考网址:IPSW

猜你喜欢

转载自blog.csdn.net/xuexixiaoshizhe/article/details/84066634
今日推荐