iOS-iPhone 8、8 Plus和iPhone X的设备平台字符串/内部模型 [英] iOS - Device Platform String / Internal Model for iPhone 8, 8 Plus and iPhone X

查看:66
本文介绍了iOS-iPhone 8、8 Plus和iPhone X的设备平台字符串/内部模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

即将推出的iPhone 8,iPhone 8 Plus和iPhone X的设备平台字符串是什么?

What is the device platform string List for the upcoming iPhone 8, iPhone 8 Plus and iPhone X?

推荐答案

基于设备内部模型识别设备的列表如下:

The list to identify the devices based on their internal model is as follows:

    - (NSString *) devicePlatformString{
    NSString *platform = [self devicePlatform];
    if ([platform isEqualToString:@"iPhone1,1"])    return @"iPhone 2G";
    if ([platform isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";
    if ([platform isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";
    if ([platform isEqualToString:@"iPhone3,1"])    return @"iPhone 4";
    if ([platform isEqualToString:@"iPhone3,2"])    return @"iPhone 4";
    if ([platform isEqualToString:@"iPhone3,3"])    return @"iPhone 4";
    if ([platform isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";
    if ([platform isEqualToString:@"iPhone5,1"])    return @"iPhone 5";
    if ([platform isEqualToString:@"iPhone5,2"])    return @"iPhone 5 (GSM+CDMA)";
    if ([platform isEqualToString:@"iPhone5,3"])    return @"iPhone 5c (GSM)";
    if ([platform isEqualToString:@"iPhone5,4"])    return @"iPhone 5c (GSM+CDMA)";
    if ([platform isEqualToString:@"iPhone6,1"])    return @"iPhone 5s (GSM)";
    if ([platform isEqualToString:@"iPhone6,2"])    return @"iPhone 5s (GSM+CDMA)";
    if ([platform isEqualToString:@"iPhone8,4"])    return @"iPhone SE";
    if ([platform isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";
    if ([platform isEqualToString:@"iPhone7,2"])    return @"iPhone 6";
    if ([platform isEqualToString:@"iPhone8,2"])    return @"iPhone 6s Plus";
    if ([platform isEqualToString:@"iPhone8,1"])    return @"iPhone 6s";

    if ([platform isEqualToString:@"iPhone9,1"])    return @"iPhone 7";
    if ([platform isEqualToString:@"iPhone9,3"])    return @"iPhone 7";
    if ([platform isEqualToString:@"iPhone9,2"])    return @"iPhone 7 Plus";
    if ([platform isEqualToString:@"iPhone9,4"])    return @"iPhone 7 Plus";

    if ([platform isEqualToString:@"iPhone10,1"])    return @"iPhone 8";
    if ([platform isEqualToString:@"iPhone10,4"])    return @"iPhone 8";
    if ([platform isEqualToString:@"iPhone10,2"])    return @"iPhone 8 Plus";
    if ([platform isEqualToString:@"iPhone10,5"])    return @"iPhone 8 Plus";

    if ([platform isEqualToString:@"iPhone10,3"])    return @"iPhone X";
    if ([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"])    return @"iPhone XS MAX";
        if ([platform isEqualToString:@"iPhone11,6"])    return @"iPhone XS MAX";

    if ([platform isEqualToString:@"iPod1,1"])      return @"iPod Touch (1 Gen)";
    if ([platform isEqualToString:@"iPod2,1"])      return @"iPod Touch (2 Gen)";
    if ([platform isEqualToString:@"iPod3,1"])      return @"iPod Touch (3 Gen)";
    if ([platform isEqualToString:@"iPod4,1"])      return @"iPod Touch (4 Gen)";
    if ([platform isEqualToString:@"iPod5,1"])      return @"iPod Touch (5 Gen)";
    if ([platform isEqualToString:@"iPod7,1"])      return @"iPod Touch (6 Gen)";


    if ([platform isEqualToString:@"iPad1,1"])      return @"iPad";
    if ([platform isEqualToString:@"iPad1,2"])      return @"iPad 3G";
    if ([platform isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";
    if ([platform isEqualToString:@"iPad2,2"])      return @"iPad 2";
    if ([platform isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";
    if ([platform isEqualToString:@"iPad2,4"])      return @"iPad 2";
    if ([platform isEqualToString:@"iPad2,5"])      return @"iPad Mini (WiFi)";
    if ([platform isEqualToString:@"iPad2,6"])      return @"iPad Mini";
    if ([platform isEqualToString:@"iPad2,7"])      return @"iPad Mini (GSM+CDMA)";
    if ([platform isEqualToString:@"iPad3,1"])      return @"iPad 3 (WiFi)";
    if ([platform isEqualToString:@"iPad3,2"])      return @"iPad 3 (GSM+CDMA)";
    if ([platform isEqualToString:@"iPad3,3"])      return @"iPad 3";
    if ([platform isEqualToString:@"iPad3,4"])      return @"iPad 4 (WiFi)";
    if ([platform isEqualToString:@"iPad3,5"])      return @"iPad 4";
    if ([platform isEqualToString:@"iPad3,6"])      return @"iPad 4 (GSM+CDMA)";
    if ([platform isEqualToString:@"iPad4,1"])      return @"iPad Air (WiFi)";
    if ([platform isEqualToString:@"iPad4,2"])      return @"iPad Air (Cellular)";
    if ([platform isEqualToString:@"iPad4,4"])      return @"iPad Mini 2 (WiFi)";
    if ([platform isEqualToString:@"iPad4,5"])      return @"iPad Mini 2 (Cellular)";
    if ([platform isEqualToString:@"iPad4,6"])      return @"iPad Mini 2";
    if ([platform isEqualToString:@"iPad4,7"])      return @"iPad Mini 3";
    if ([platform isEqualToString:@"iPad4,8"])      return @"iPad Mini 3";
    if ([platform isEqualToString:@"iPad4,9"])      return @"iPad Mini 3";
    if ([platform isEqualToString:@"iPad5,1"])      return @"iPad Mini 4 (WiFi)";
    if ([platform isEqualToString:@"iPad5,2"])      return @"iPad Mini 4 (LTE)";
    if ([platform isEqualToString:@"iPad5,3"])      return @"iPad Air 2";
    if ([platform isEqualToString:@"iPad5,4"])      return @"iPad Air 2";
    if ([platform isEqualToString:@"iPad6,3"])      return @"iPad Pro 9.7";
    if ([platform isEqualToString:@"iPad6,4"])      return @"iPad Pro 9.7";
    if ([platform isEqualToString:@"iPad6,7"])      return @"iPad Pro 12.9";
    if ([platform isEqualToString:@"iPad6,8"])      return @"iPad Pro 12.9";

    if ([platform isEqualToString:@"iPad6,11"])     return @"iPad (5th Gen)";
    if ([platform isEqualToString:@"iPad6,12"])     return @"iPad (5th Gen)";
    if ([platform isEqualToString:@"iPad7,5"])      return @"iPad (6th Gen)";
        if ([platform isEqualToString:@"iPad7,6"])      return @"iPad (6th Gen)";
    if ([platform isEqualToString:@"iPad7,1"])      return @"iPad Pro 12.9 (2nd Gen)";
    if ([platform isEqualToString:@"iPad7,2"])      return @"iPad Pro 12.9 (2nd Gen)";
    if ([platform isEqualToString:@"iPad7,3"])      return @"iPad Pro 10.5";
    if ([platform isEqualToString:@"iPad7,4"])      return @"iPad Pro 10.5";


    if ([platform isEqualToString:@"AppleTV2,1"])   return @"Apple TV 2G";
    if ([platform isEqualToString:@"AppleTV3,1"])   return @"Apple TV 3";
    if ([platform isEqualToString:@"AppleTV3,2"])   return @"Apple TV 3 (2013)";

    if ([platform isEqualToString:@"i386"])         return @"Simulator";
    if ([platform isEqualToString:@"x86_64"])       return @"Simulator";

    return platform;}

    - (NSString *) devicePlatform{
    size_t size;
    sysctlbyname("hw.machine", NULL, &size, NULL, 0);
    char *machine = malloc(size);
    sysctlbyname("hw.machine", machine, &size, NULL, 0);
    NSString *platform = [NSString stringWithUTF8String:machine];
    free(machine);
    return platform;
}

在Swift中

func devicePlatform() -> String {
    var size = 0
    sysctlbyname("hw.machine", nil, &size, nil, 0)
    var machine = [CChar](repeating: 0,  count: size)
    sysctlbyname("hw.machine", &machine, &size, nil, 0)
    return String(cString: machine)
}

func devicePlatformString() -> String {
    let platform: String = devicePlatform()
    if (platform == "iPhone1,1") {
        return "iPhone 2G"
    }
    if (platform == "iPhone1,2") {
        return "iPhone 3G"
    }
    if (platform == "iPhone2,1") {
        return "iPhone 3GS"
    }
    if (platform == "iPhone3,1") {
        return "iPhone 4"
    }
    if (platform == "iPhone3,2") {
        return "iPhone 4"
    }
    if (platform == "iPhone3,3") {
        return "iPhone 4"
    }
    if (platform == "iPhone4,1") {
        return "iPhone 4S"
    }
    if (platform == "iPhone5,1") {
        return "iPhone 5"
    }
    if (platform == "iPhone5,2") {
        return "iPhone 5 (GSM+CDMA)"
    }
    if (platform == "iPhone5,3") {
        return "iPhone 5c (GSM)"
    }
    if (platform == "iPhone5,4") {
        return "iPhone 5c (GSM+CDMA)"
    }
    if (platform == "iPhone6,1") {
        return "iPhone 5s (GSM)"
    }
    if (platform == "iPhone6,2") {
        return "iPhone 5s (GSM+CDMA)"
    }
    if (platform == "iPhone8,4") {
        return "iPhone SE"
    }
    if (platform == "iPhone7,1") {
        return "iPhone 6 Plus"
    }
    if (platform == "iPhone7,2") {
        return "iPhone 6"
    }
    if (platform == "iPhone8,2") {
        return "iPhone 6s Plus"
    }
    if (platform == "iPhone8,1") {
        return "iPhone 6s"
    }
    if (platform == "iPhone9,1") {
        return "iPhone 7"
    }
    if (platform == "iPhone9,3") {
        return "iPhone 7"
    }
    if (platform == "iPhone9,2") {
        return "iPhone 7 Plus"
    }
    if (platform == "iPhone9,4") {
        return "iPhone 7 Plus"
    }
    if (platform == "iPhone10,1") {
        return "iPhone 8"
    }
    if (platform == "iPhone10,4") {
        return "iPhone 8"
    }
    if (platform == "iPhone10,2") {
        return "iPhone 8 Plus"
    }
    if (platform == "iPhone10,5") {
        return "iPhone 8 Plus"
    }
    if (platform == "iPhone10,3") {
        return "iPhone X"
    }
    if (platform == "iPhone10,6") {
        return "iPhone X"
    }
    if (platform == "iPhone11,8") {
        return "iPhone XR"
    }
    if (platform == "iPhone11,2") {
        return "iPhone XS"
    }
    if (platform == "iPhone11,4") {
        return "iPhone XS MAX"
    }
    if (platform == "iPhone11,6") {
        return "iPhone XS MAX"
    }
    if (platform == "iPod1,1") {
        return "iPod Touch (1 Gen)"
    }
    if (platform == "iPod2,1") {
        return "iPod Touch (2 Gen)"
    }
    if (platform == "iPod3,1") {
        return "iPod Touch (3 Gen)"
    }
    if (platform == "iPod4,1") {
        return "iPod Touch (4 Gen)"
    }
    if (platform == "iPod5,1") {
        return "iPod Touch (5 Gen)"
    }
    if (platform == "iPod7,1") {
        return "iPod Touch (6 Gen)"
    }
    if (platform == "iPad1,1") {
        return "iPad"
    }
    if (platform == "iPad1,2") {
        return "iPad 3G"
    }
    if (platform == "iPad2,1") {
        return "iPad 2 (WiFi)"
    }
    if (platform == "iPad2,2") {
        return "iPad 2"
    }
    if (platform == "iPad2,3") {
        return "iPad 2 (CDMA)"
    }
    if (platform == "iPad2,4") {
        return "iPad 2"
    }
    if (platform == "iPad2,5") {
        return "iPad Mini (WiFi)"
    }
    if (platform == "iPad2,6") {
        return "iPad Mini"
    }
    if (platform == "iPad2,7") {
        return "iPad Mini (GSM+CDMA)"
    }
    if (platform == "iPad3,1") {
        return "iPad 3 (WiFi)"
    }
    if (platform == "iPad3,2") {
        return "iPad 3 (GSM+CDMA)"
    }
    if (platform == "iPad3,3") {
        return "iPad 3"
    }
    if (platform == "iPad3,4") {
        return "iPad 4 (WiFi)"
    }
    if (platform == "iPad3,5") {
        return "iPad 4"
    }
    if (platform == "iPad3,6") {
        return "iPad 4 (GSM+CDMA)"
    }
    if (platform == "iPad4,1") {
        return "iPad Air (WiFi)"
    }
    if (platform == "iPad4,2") {
        return "iPad Air (Cellular)"
    }
    if (platform == "iPad4,4") {
        return "iPad Mini 2 (WiFi)"
    }
    if (platform == "iPad4,5") {
        return "iPad Mini 2 (Cellular)"
    }
    if (platform == "iPad4,6") {
        return "iPad Mini 2"
    }
    if (platform == "iPad4,7") {
        return "iPad Mini 3"
    }
    if (platform == "iPad4,8") {
        return "iPad Mini 3"
    }
    if (platform == "iPad4,9") {
        return "iPad Mini 3"
    }
    if (platform == "iPad5,1") {
        return "iPad Mini 4 (WiFi)"
    }
    if (platform == "iPad5,2") {
        return "iPad Mini 4 (LTE)"
    }
    if (platform == "iPad5,3") {
        return "iPad Air 2"
    }
    if (platform == "iPad5,4") {
        return "iPad Air 2"
    }
    if (platform == "iPad6,3") {
        return "iPad Pro 9.7"
    }
    if (platform == "iPad6,4") {
        return "iPad Pro 9.7"
    }
    if (platform == "iPad6,7") {
        return "iPad Pro 12.9"
    }
    if (platform == "iPad6,8") {
        return "iPad Pro 12.9"
    }
    if (platform == "iPad6,11") {
        return "iPad (5th Gen)"
    }
    if (platform == "iPad6,12") {
        return "iPad (5th Gen)"
    }
    if (platform == "iPad7,5") {
        return "iPad (6th Gen)"
    }
    if (platform == "iPad7,6") {
        return "iPad (6th Gen)"
    }
    if (platform == "iPad7,1") {
        return "iPad Pro 12.9 (2nd Gen)"
    }
    if (platform == "iPad7,2") {
        return "iPad Pro 12.9 (2nd Gen)"
    }
    if (platform == "iPad7,3") {
        return "iPad Pro 10.5"
    }
    if (platform == "iPad7,4") {
        return "iPad Pro 10.5"
    }
    if (platform == "AppleTV2,1") {
        return "Apple TV 2G"
    }
    if (platform == "AppleTV3,1") {
        return "Apple TV 3"
    }
    if (platform == "AppleTV3,2") {
        return "Apple TV 3 (2013)"
    }
    if (platform == "i386") {
        return "Simulator"
    }
    if (platform == "x86_64") {
        return "Simulator"
    }
    return platform
}

来源: https://www.theiphonewiki.com/wiki/List_of_iPhones https://www.theiphonewiki.com/wiki/Models

这篇关于iOS-iPhone 8、8 Plus和iPhone X的设备平台字符串/内部模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆