设备型号官网地址:https://www.theiphonewiki.com/wiki/Models

2018年9月新增设备 iPhone XR , iPhone XS, iPhone XS Max

//获得设备型号
+ (NSString *)getCurrentDevice
{
    int mib[2];
    size_t len;
    char *machine;
    
    mib[0] = CTL_HW;
    mib[1] = HW_MACHINE;
    sysctl(mib, 2, NULL, &len, NULL, 0);
    machine = malloc(len);
    sysctl(mib, 2, machine, &len, NULL, 0);
    
    NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding];
    free(machine);

    // iPhone
    if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone2G";
    if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone3G";
    if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone3GS";
    if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone4";
    if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone4";
    if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone4";
    if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone4S";
    if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone5";
    if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone5";
    if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone5c";
    if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone5c";
    if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone5s";
    if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone5s";
    if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone6";
    if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone6Plus";
    if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone6s";
    if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone6sPlus";
    if ([platform isEqualToString:@"iPhone8,3"]) return @"iPhoneSE";
    if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhoneSE";
    if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone7";
    if ([platform isEqualToString:@"iPhone9,2"] ||
        [platform isEqualToString:@"iPhone9,4"]) return @"iPhone7Plus";
    if ([platform isEqualToString:@"iPhone10,1"] ||
        [platform isEqualToString:@"iPhone10,4"]) return @"iPhone 8";
    if ([platform isEqualToString:@"iPhone10,2"] ||
        [platform isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus";
    if ([platform isEqualToString:@"iPhone10,3"] ||
        [platform isEqualToString:@"iPhone10,6"]) return @"iPhone X";
    if ([platform isEqualToString:@"iPhone11,8"]) return @"iPhone XR";
    if ([platform isEqualToString:@"iPhone11,2"]) return @"iPhone XS";
    if ([platform isEqualToString:@"iPhone11,4"] ||
        [platform isEqualToString:@"iPhone11,6"]) return @"iPhone XS Max";
    
    //iPod Touch
    if ([platform isEqualToString:@"iPod1,1"])   return @"iPodTouch";
    if ([platform isEqualToString:@"iPod2,1"])   return @"iPodTouch2G";
    if ([platform isEqualToString:@"iPod3,1"])   return @"iPodTouch3G";
    if ([platform isEqualToString:@"iPod4,1"])   return @"iPodTouch4G";
    if ([platform isEqualToString:@"iPod5,1"])   return @"iPodTouch5G";
    if ([platform isEqualToString:@"iPod7,1"])   return @"iPodTouch6G";
    
    //iPad
    if ([platform isEqualToString:@"iPad1,1"])   return @"iPad";
    if ([platform isEqualToString:@"iPad2,1"])   return @"iPad2";
    if ([platform isEqualToString:@"iPad2,2"])   return @"iPad2";
    if ([platform isEqualToString:@"iPad2,3"])   return @"iPad2";
    if ([platform isEqualToString:@"iPad2,4"])   return @"iPad2";
    if ([platform isEqualToString:@"iPad3,1"])   return @"iPad3";
    if ([platform isEqualToString:@"iPad3,2"])   return @"iPad3";
    if ([platform isEqualToString:@"iPad3,3"])   return @"iPad3";
    if ([platform isEqualToString:@"iPad3,4"])   return @"iPad4";
    if ([platform isEqualToString:@"iPad3,5"])   return @"iPad4";
    if ([platform isEqualToString:@"iPad3,6"])   return @"iPad4";
    
    //iPad Air
    if ([platform isEqualToString:@"iPad4,1"])   return @"iPadAir";
    if ([platform isEqualToString:@"iPad4,2"])   return @"iPadAir";
    if ([platform isEqualToString:@"iPad4,3"])   return @"iPadAir";
    if ([platform isEqualToString:@"iPad5,3"])   return @"iPadAir2";
    if ([platform isEqualToString:@"iPad5,4"])   return @"iPadAir2";
    
    //iPad pro
    if ([platform isEqualToString:@"iPad6,3"])   return @"iPadPro";
    if ([platform isEqualToString:@"iPad6,4"])   return @"iPadPro";
    if ([platform isEqualToString:@"iPad6,7"])   return @"iPadPro";
    if ([platform isEqualToString:@"iPad6,8"])   return @"iPadPro";
    if ([platform isEqualToString:@"iPad6,11"] ||
        [platform isEqualToString:@"iPad6,12"]) return @"iPad 5";
    if ([platform isEqualToString:@"iPad7,1"] ||
        [platform isEqualToString:@"iPad7,2"]) return @"iPad Pro 12.9-inch 2";
    if ([platform isEqualToString:@"iPad7,3"] ||
        [platform isEqualToString:@"iPad7,4"]) return @"iPad Pro 10.5-inch";
    
    //iPad mini
    if ([platform isEqualToString:@"iPad2,5"])   return @"iPadmini1G";
    if ([platform isEqualToString:@"iPad2,6"])   return @"iPadmini1G";
    if ([platform isEqualToString:@"iPad2,7"])   return @"iPadmini1G";
    if ([platform isEqualToString:@"iPad4,4"])   return @"iPadmini2";
    if ([platform isEqualToString:@"iPad4,5"])   return @"iPadmini2";
    if ([platform isEqualToString:@"iPad4,6"])   return @"iPadmini2";
    if ([platform isEqualToString:@"iPad4,7"])   return @"iPadmini3";
    if ([platform isEqualToString:@"iPad4,8"])   return @"iPadmini3";
    if ([platform isEqualToString:@"iPad4,9"])   return @"iPadmini3";
    if ([platform isEqualToString:@"iPad5,1"])   return @"iPadmini4";
    if ([platform isEqualToString:@"iPad5,2"])   return @"iPadmini4";
    
    if ([platform isEqualToString:@"i386"])      return @"iPhoneSimulator";
    if ([platform isEqualToString:@"x86_64"])    return @"iPhoneSimulator";
    return @"Unknown";
}

iPhone:

机型像素比例ppi尺寸机型代码发布时间
iPhone XR1792×82819.5:93266.1iPhone11,82018.09
iPhone XS Max2688×124218:94586.5iPhone11,4 iPhone11,62018.09
iPhone XS2436×112518:94585.8iPhone11,22018.09
iPhone X2436×112518:94585.8iPhone10,3 iPhone10,62017.09
iPhone 8 plus1920×108016:94015.5iPhone10,2 iPhone10,52017.09
iPhone 81334×75016:94014.7iPhone10,1 iPhone10,42017.09
iPhone 7 plus1920×108016:94015.5iPhone9,2 iPhone9,42016.09
iPhone 71334×75016:94014.7iPhone9,1 iPhone9,32016.09
iPhone 5 SE1136×64016:94014.0iPhone8,42016.03
iPhone 6s plus1920×108016:94015.5iPhone8,12015.09
iPhone 6s1334×75016:94014.7iPhone8,22015.09
iPhone 6 plus1920×108016:94015.5iPhone7,12014.09
iPhone 61334×75016:94014.7iPhone7,22014.09
iPhone 5s1136×64016:93264.0iPhone6,1 iPhone6,22013.09

iPad:

机型逻辑分辨率Scale物理分辨率比例ppi尺寸型号代码发布时间
iPad 51024×768@2x2048×15364:32649.7iPad6,11 iPad6,122017.03
iPad 41024×768@2x2048×15364:32649.7iPad3,4 iPad3,5 iPad3,62012.10
iPad 31024×768@2x2048×15364:32649.7iPad3,1 iPad3,2 iPad3,32012.03
iPad 21024×768@1x1024×7684:31639.7iPad2,1 iPad2,2 iPad2,3 iPad2,42011.03
iPad1024×768@1x1024×7684:31639.7iPad1,12010.01

iPad Air:

机型逻辑分辨率Scale物理分辨率比例ppi尺寸型号代码发布时间
iPad Air1024×768@2x2048×15364:32649.7iPad4,1 iPad4,2 iPad4,32013.10
iPad Air 21024×768@2x2048×15364:32649.7iPad5,3 iPad5,42014.10

iPad Pro:

机型逻辑分辨率Scale物理分辨率比例ppi尺寸型号代码发布时间
iPad Pro 10.51112×834@2x2224×16684:326410.5iPad7,3 iPad7,42017
iPad Pro 12.9-inch 21366×1024@2x2732×20484:326412.9iPad7,1 iPad7,22017
iPad Pro 9.7-inch1024×768@2x2048×15364:32649.7iPad6,3 iPad6,42016.03
iPad Pro 12.9-inch1366×1024@2x2732×20484:326412.9iPad6,7 iPad6,82015.09

iPad Mini:

机型逻辑分辨率Scale物理分辨率比例ppi尺寸型号代码发布时间
iPad mini 41024×768@2X2048×15364:33267.9iPad5,1 iPad5,2 iPad4,92015.09
iPad mini 31024×768@2X2048×15364:33267.9iPad4,7 iPad4,8 iPad4,92014.10
iPad mini 21024×768@2X2048×15364:33267.9iPad4,5 iPad4,6 iPad4,72013.10
iPad mini1024×768@1X1024×7684:31637.9iPad2,5 iPad2,6 iPad2,72012.10

Samulitor:

机型型号代码
Simulatori386、x86_64
Unknown