iOS - iPhone 8、8 Plus 和 iPhone X 的设备平台字符串/内部模型[重复]

2024-05-13

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


根据内部型号识别设备的列表如下:

对于斯威夫特

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)}

class func devicePlatformString() -> String {
    let platform: String = devicePlatform()
    
    switch platform {
        
        //iPod
    case "iPod1,1":
        return "iPod Touch (1st Gen)"
    case "iPod2,1":
        return "iPod Touch (2nd Gen)"
    case "iPod3,1":
        return "iPod Touch (3rd Gen)"
    case "iPod4,1":
        return "iPod Touch (4th Gen)"
    case "iPod5,1":
        return "iPod Touch (5th Gen)"
    case "iPod7,1":
        return "iPod Touch (6th Gen)"
    case "iPod9,1":
        return "iPod Touch (7th Gen)"
        
        //iPhone
    case "iPhone1,1":
        return "iPhone 2G"
    case "iPhone1,2":
        return "iPhone 3G"
    case "iPhone2,1":
        return "iPhone 3GS"
    case "iPhone3,1","iPhone3,2","iPhone3,3":
        return "iPhone 4"
    case "iPhone4,1":
        return "iPhone 4S"
    case "iPhone5,1":
        return "iPhone 5"
    case "iPhone5,2":
        return "iPhone 5 (GSM+CDMA)"
    case"iPhone5,3":
        return "iPhone 5c (GSM)"
    case "iPhone5,4":
        return "iPhone 5c (GSM+CDMA)"
    case "iPhone6,1":
        return "iPhone 5s (GSM)"
    case "iPhone6,2":
        return "iPhone 5s (GSM+CDMA)"
    case "iPhone8,4":
        return "iPhone SE"
    case "iPhone7,1":
        return "iPhone 6 Plus"
    case "iPhone7,2":
        return "iPhone 6"
    case "iPhone8,2":
        return "iPhone 6s Plus"
    case "iPhone8,1":
        return "iPhone 6s"
    case "iPhone9,1","iPhone9,3":
        return "iPhone 7"
    case "iPhone9,2","iPhone9,4":
        return "iPhone 7 Plus"
    case "iPhone10,1","iPhone10,4":
        return "iPhone 8"
    case"iPhone10,2","iPhone10,5":
        return "iPhone 8 Plus"
    case "iPhone10,3","iPhone10,6":
        return "iPhone X"
    case "iPhone11,8":
        return "iPhone XR"
    case "iPhone11,2":
        return "iPhone XS"
    case "iPhone11,4","iPhone11,6":
        return "iPhone XS MAX"
    case "iPhone12,1":
        return "iPhone 11"
    case "iPhone12,3":
        return "iPhone 11 Pro"
    case "iPhone12,5":
        return"iPhone 11 Pro Max"
    case "iPhone12,8":
        return "iPhone SE (2nd generation)"
    case "iPhone13,1":
        return"iPhone 12 mini"
    case "iPhone13,2":
        return "iPhone 12"
    case "iPhone13,3":
        return "iPhone 12 Pro}"
    case "iPhone13,4":
        return "iPhone 12 Pro Max"
    case "iPhone14,4":
        return "iPhone 13 mini"
    case "iPhone14,5":
        return "iPhone 13"
    case "iPhone14,6":
        return "iPhone SE 3rd Gen"
    case "iPhone14,2":
        return"iPhone 13 Pro"
    case "iPhone14,3":
        return"iPhone 13 Pro Max"
    case "iPhone14,7" :
        return "iPhone 14"
    case "iPhone14,8" :
        return "iPhone 14 Plus"
    case "iPhone15,2" :
        return "iPhone 14 Pro"
    case "iPhone15,3" :
        return "iPhone 14 Pro Max"
        
        //iPad
    case "iPad1,1":
        return "iPad"
    case "iPad1,2":
        return "iPad 3G"
    case "iPad2,1":
        return "iPad 2 (WiFi)"
    case "iPad2,2":
        return "iPad 2"
    case "iPad2,3":
        return "iPad 2 (CDMA)"
    case "iPad2,4":
        return "iPad 2"
    case "iPad3,1":
        return "iPad 3 (WiFi)"
    case "iPad3,2":
        return "iPad 3 (GSM+CDMA)"
    case "iPad3,3":
        return "iPad 3"
    case "iPad3,4":
        return "iPad 4 (WiFi)"
    case "iPad3,5":
        return "iPad 4"
    case "iPad3,6":
        return "iPad 4 (GSM+CDMA)"
    case "iPad6,11","iPad6,12":
        return "iPad (5th Gen)"
    case "iPad7,5","iPad7,6":
        return "iPad (6th Gen)"
    case "iPad7,11","iPad7,12":
        return "iPad (7th Gen)"
    case "iPad11,6","iPad11,7":
        return "iPad (8th Gen)"
    case "iPad12,1","iPad12,2":
        return "iPad (9th Gen)"
    case "iPad13,18":
        return "iPad 10th Gen"
    case "iPad13,19":
        return "iPad 10th Gen"
        
        //iPad Mini
    case "iPad2,5":
        return "iPad Mini (WiFi)"
    case "iPad2,6":
        return "iPad Mini"
    case "iPad2,7":
        return "iPad Mini (GSM+CDMA)"
    case "iPad4,4":
        return "iPad Mini 2 (WiFi)"
    case "iPad4,5":
        return "iPad Mini 2 (Cellular)"
    case "iPad4,6":
        return "iPad Mini 2"
    case "iPad4,7":
        return "iPad Mini 3"
    case "iPad4,8","iPad4,9":
        return "iPad Mini 3"
    case "iPad5,1":
        return "iPad Mini 4 (WiFi)"
    case "iPad5,2":
        return "iPad Mini 4 (LTE)"
    case "iPad11,1":
        return "iPad Mini 5 (WiFi)"
    case "iPad11,2":
        return "iPad Mini 5 (LTE)"
    case "iPad14,1":
        return "iPad mini 6th Gen (WiFi)"
    case "iPad14,2":
        return "iPad mini 6th Gen (WiFi+Cellular)"
        
        //iPad Air
    case "iPad4,1":
        return "iPad Air (WiFi)"
    case "iPad4,2":
        return "iPad Air (Cellular)"
    case "iPad5,3","iPad5,4":
        return "iPad Air 2"
    case "iPad11,3","iPad11,4":
        return "iPad Air 3"
    case "iPad13,1","iPad13,2":
        return "iPad Air 4"
    case "iPad13,16":
        return "iPad Air 5th Gen (WiFi)"
    case "iPad13,17":
        return "iPad Air 5th Gen (WiFi+Cellular)"
        
        //iPad Pro
    case "iPad6,3","iPad6,4":
        return "iPad Pro 9.7"
    case "iPad7,3","iPad7,4":
        return "iPad Pro 10.5"
    case "iPad8,1","iPad8,2","iPad8,3","iPad8,4":
        return "iPad Pro 11-in"
    case "iPad8,9","iPad8,10":
        return "iPad Pro 11-in (2nd Gen)"
    case "iPad13,4","iPad13,5","iPad13,6","iPad13,7":
        return "iPad Pro 11-in (3rd Gen)"
    case "iPad6,7","iPad6,8":
        return "iPad Pro 12.9"
    case "iPad7,1","iPad7,2":
        return "iPad Pro 12.9 (2nd Gen)"
    case "iPad8,5","iPad8,6","iPad8,7","iPad8,8":
        return "iPad Pro 12.9 (3rd Gen)"
    case "iPad8,11","iPad8,12":
        return "iPad Pro 12.9 (4th Gen)"
    case "iPad13,8","iPad13,9","iPad13,10","iPad13,11":
        return "iPad Pro 12.9 (5th Gen)"
    case "iPad14,3":
        return "iPad Pro 11 inch 4th Gen"
    case "iPad14,4":
        return "iPad Pro 11 inch 4th Gen"
    case "iPad14,5":
        return "iPad Pro 12.9 inch 6th Gen"
    case "iPad14,6":
        return "iPad Pro 12.9 inch 6th Gen"
        
        //Apple Watch
    case "Watch1,1","Watch1,2":
        return "Apple Watch 1st Gen"
    case "Watch2,6","Watch2,7":
        return "Apple Watch Series 1"
    case "Watch2,3","Watch2,4":
        return "Apple Watch Series 2"
    case "Watch3,1","Watch3,2","Watch3,3","Watch3,4":
        return "Apple Watch Series 3"
    case "Watch4,1","Watch4,2","Watch4,3","Watch4,4":
        return "Apple Watch Series 4"
    case "Watch5,1","Watch5,2","Watch5,3","Watch5,4":
        return "Apple Watch Series 5"
    case "Watch5,9","Watch5,10","Watch5,11","Watch5,12":
        return "Apple Watch SE"
    case "Watch6,1","Watch6,2","Watch6,3","Watch6,4":
        return "Apple Watch Series 6"
    case "Watch6,6":
        return "Apple Watch Series 7 41mm case (GPS)"
    case "Watch6,7":
        return "Apple Watch Series 7 45mm case (GPS)"
    case "Watch6,8":
        return "Apple Watch Series 7 41mm case (GPS+Cellular)"
    case "Watch6,9":
        return "Apple Watch Series 7 45mm case (GPS+Cellular)"
    case "Watch6,10":
        return "Apple Watch SE 40mm case (GPS)"
    case "Watch6,11":
        return "Apple Watch SE 44mm case (GPS)"
    case "Watch6,12":
        return "Apple Watch SE 40mm case (GPS+Cellular)"
    case "Watch6,13":
        return "Apple Watch SE 44mm case (GPS+Cellular)"
    case "Watch6,14":
        return "Apple Watch Series 8 41mm case (GPS)"
    case "Watch6,15":
        return "Apple Watch Series 8 45mm case (GPS)"
    case "Watch6,16":
        return "Apple Watch Series 8 41mm case (GPS+Cellular)"
    case "Watch6,17":
        return "Apple Watch Series 8 45mm case (GPS+Cellular)"
    case "Watch6,18":
        return "Apple Watch Ultra"
        
        //Apple TV
    case "AppleTV2,1":
        return "Apple TV 2G"
    case "AppleTV3,1":
        return "Apple TV 3"
    case "AppleTV3,2":
        return "Apple TV 3"
    case "AppleTV5,3":
        return "Apple TV 4"
    case "AppleTV6,2":
        return "Apple TV 4K"
    case "AppleTV11,1":
        return "Apple TV 4K (2nd Gen)"
        
        //SImulator
    case "i386":
        return "Simulator"
    case "x86_64":
        return "Simulator"
        
    default:
        return "Unknown iOS Device"
    }
}

对于 Objective-C

    + (NSString *) devicePlatformString{
NSString *platform = [self devicePlatform];

//iPod
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:@"iPod9,1"])      return @"iPod Touch (7 Gen)";

//iPhone
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:@"iPhone12,1"])    return @"iPhone 11";
if ([platform isEqualToString:@"iPhone12,3"])    return @"iPhone 11 Pro";
if ([platform isEqualToString:@"iPhone12,5"])    return @"iPhone 11 Pro Max";
if ([platform isEqualToString:@"iPhone12,8"])    return @"iPhone SE (2nd generation)";
if ([platform isEqualToString:@"iPhone13,1"])    return @"iPhone 12 mini";
if ([platform isEqualToString:@"iPhone13,2"])    return @"iPhone 12";
if ([platform isEqualToString:@"iPhone13,3"])    return @"iPhone 12 Pro}";
if ([platform isEqualToString:@"iPhone13,4"])    return @"iPhone 12 Pro Max";
if ([platform isEqualToString:@"iPhone14,4"])    return @"iPhone 13 mini";
if ([platform isEqualToString:@"iPhone14,5"])    return @"iPhone 13";
if ([platform isEqualToString:@"iPhone14,2"])    return @"iPhone 13 Pro";
if ([platform isEqualToString:@"iPhone14,3"])    return @"iPhone 13 Pro Max";

//iPad
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:@"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:@"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,11"])     return @"iPad (7th Gen)";
if ([platform isEqualToString:@"iPad7,12"])     return @"iPad (7th Gen)";
if ([platform isEqualToString:@"iPad11,6"])     return @"iPad (8th Gen)";
if ([platform isEqualToString:@"iPad11,7"])     return @"iPad (8th Gen)";
if ([platform isEqualToString:@"iPad12,1"])     return @"iPad (9th Gen)";
if ([platform isEqualToString:@"iPad12,2"])     return @"iPad (9th Gen)";


//iPad Mini
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:@"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:@"iPad11,1"])     return @"iPad Mini 5 (WiFi)";
if ([platform isEqualToString:@"iPad11,2"])     return @"iPad Mini 5 (LTE)";
if ([platform isEqualToString:@"iPad14,1"])     return @"iPad Mini 6";
if ([platform isEqualToString:@"iPad14,2"])     return @"iPad Mini 6";


//iPad Air
if ([platform isEqualToString:@"iPad4,1"])      return @"iPad Air (WiFi)";
if ([platform isEqualToString:@"iPad4,2"])      return @"iPad Air (Cellular)";
if ([platform isEqualToString:@"iPad5,3"])      return @"iPad Air 2";
if ([platform isEqualToString:@"iPad5,4"])      return @"iPad Air 2";
if ([platform isEqualToString:@"iPad11,3"])     return @"iPad Air 3";
if ([platform isEqualToString:@"iPad11,4"])     return @"iPad Air 3";
if ([platform isEqualToString:@"iPad13,1"])     return @"iPad Air 4";
if ([platform isEqualToString:@"iPad13,2"])     return @"iPad Air 4";

//iPad Pro
if ([platform isEqualToString:@"iPad6,3"])      return @"iPad Pro 9.7";
if ([platform isEqualToString:@"iPad6,4"])      return @"iPad Pro 9.7";
if ([platform isEqualToString:@"iPad7,3"])      return @"iPad Pro 10.5";
if ([platform isEqualToString:@"iPad7,4"])      return @"iPad Pro 10.5";


//iPad Pro 11 inch
if ([platform isEqualToString:@"iPad8,1"])      return @"iPad Pro 11-in";
if ([platform isEqualToString:@"iPad8,2"])      return @"iPad Pro 11-in";
if ([platform isEqualToString:@"iPad8,3"])      return @"iPad Pro 11-in";
if ([platform isEqualToString:@"iPad8,4"])      return @"iPad Pro 11-in";
if ([platform isEqualToString:@"iPad8,9"])      return @"iPad Pro 11-in (2nd Gen)";
if ([platform isEqualToString:@"iPad8,10"])     return @"iPad Pro 11-in (2nd Gen)";
if ([platform isEqualToString:@"iPad13,4"])     return @"iPad Pro 11-in (3rd Gen)";
if ([platform isEqualToString:@"iPad13,5"])     return @"iPad Pro 11-in (3rd Gen)";
if ([platform isEqualToString:@"iPad13,6"])     return @"iPad Pro 11-in (3rd Gen)";
if ([platform isEqualToString:@"iPad13,7"])     return @"iPad Pro 11-in (3rd Gen)";

//iPad Pro 12.9 inch
if ([platform isEqualToString:@"iPad6,7"])      return @"iPad Pro 12.9";
if ([platform isEqualToString:@"iPad6,8"])      return @"iPad Pro 12.9";
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:@"iPad8,5"])      return @"iPad Pro 12.9 (3rd Gen)";
if ([platform isEqualToString:@"iPad8,6"])      return @"iPad Pro 12.9 (3rd Gen)";
if ([platform isEqualToString:@"iPad8,7"])      return @"iPad Pro 12.9 (3rd Gen)";
if ([platform isEqualToString:@"iPad8,8"])      return @"iPad Pro 12.9 (3rd Gen)";
if ([platform isEqualToString:@"iPad8,11"])     return @"iPad Pro 12.9 (4th Gen)";
if ([platform isEqualToString:@"iPad8,12"])     return @"iPad Pro 12.9 (4th Gen)";
if ([platform isEqualToString:@"iPad13,8"])     return @"iPad Pro 12.9 (5th Gen)";
if ([platform isEqualToString:@"iPad13,9"])     return @"iPad Pro 12.9 (5th Gen)";
if ([platform isEqualToString:@"iPad13,10"])    return @"iPad Pro 12.9 (5th Gen)";
if ([platform isEqualToString:@"iPad13,11"])    return @"iPad Pro 12.9 (5th Gen)";

//Apple Watch
if ([platform isEqualToString:@"Watch1,1"])      return @"Apple Watch 1st Gen";
if ([platform isEqualToString:@"Watch1,2"])      return @"Apple Watch 1st Gen";
if ([platform isEqualToString:@"Watch2,6"])      return @"Apple Watch Series 1";
if ([platform isEqualToString:@"Watch2,7"])      return @"Apple Watch Series 1";
if ([platform isEqualToString:@"Watch2,3"])      return @"Apple Watch Series 2";
if ([platform isEqualToString:@"Watch2,4"])      return @"Apple Watch Series 2";
if ([platform isEqualToString:@"Watch3,1"])      return @"Apple Watch Series 3";
if ([platform isEqualToString:@"Watch3,2"])      return @"Apple Watch Series 3";
if ([platform isEqualToString:@"Watch3,3"])      return @"Apple Watch Series 3";
if ([platform isEqualToString:@"Watch3,4"])      return @"Apple Watch Series 3";
if ([platform isEqualToString:@"Watch4,1"])      return @"Apple Watch Series 4";
if ([platform isEqualToString:@"Watch4,2"])      return @"Apple Watch Series 4";
if ([platform isEqualToString:@"Watch4,3"])      return @"Apple Watch Series 4";
if ([platform isEqualToString:@"Watch4,4"])      return @"Apple Watch Series 4";
if ([platform isEqualToString:@"Watch5,1"])      return @"Apple Watch Series 5";
if ([platform isEqualToString:@"Watch5,2"])      return @"Apple Watch Series 5";
if ([platform isEqualToString:@"Watch5,3"])      return @"Apple Watch Series 5";
if ([platform isEqualToString:@"Watch5,4"])      return @"Apple Watch Series 5";
if ([platform isEqualToString:@"Watch5,9"])      return @"Apple Watch SE";
if ([platform isEqualToString:@"Watch5,10"])      return @"Apple Watch SE";
if ([platform isEqualToString:@"Watch5,11"])      return @"Apple Watch SE";
if ([platform isEqualToString:@"Watch5,12"])      return @"Apple Watch SE";
if ([platform isEqualToString:@"Watch6,1"])      return @"Apple Watch Series 6";
if ([platform isEqualToString:@"Watch6,2"])      return @"Apple Watch Series 6";
if ([platform isEqualToString:@"Watch6,3"])      return @"Apple Watch Series 6";
if ([platform isEqualToString:@"Watch6,4"])      return @"Apple Watch Series 6";

//Other
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";
if ([platform isEqualToString:@"AppleTV5,3"])   return @"AppleTV5,3";
if ([platform isEqualToString:@"AppleTV6,2"])   return @"Apple TV 4K";
if ([platform isEqualToString:@"AppleTV11,1"])   return @"Apple TV 4K (2nd Gen)";

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;

}

Source: https://www.theiphonewiki.com/wiki/List_of_iPhones https://www.theiphonewiki.com/wiki/List_of_iPhones https://www.theiphonewiki.com/wiki/Models https://www.theiphonewiki.com/wiki/Models

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS - iPhone 8、8 Plus 和 iPhone X 的设备平台字符串/内部模型[重复] 的相关文章

  • SwiftUI 查看所有视图,包括工作表视图

    我需要根据某些条件在所有视图之上显示一个视图 无论顶视图是什么 我正在尝试以下代码 struct TestView
  • Swift 3 Web 视图

    所以我刚刚更新到新的Xcode8 and Swift3但现在我的网络视图不起作用 这是我使用的代码 UIWebView loadRequest webView NSURLRequest URL NSURL string http hardw
  • NSPredicate predicateWithFormat 传入属性名称

    关于 NSPredicate 的简单问题 我正在尝试使用 传入 值构建我的谓词 如下所示 NSPredicate currentPredicate NSPredicate predicateWithFormat key changesDic
  • 将蒙版图像作为 PNG 文件写入磁盘

    基本上 我从网络服务器下载图像 然后将它们缓存到磁盘上 但在这样做之前 我想屏蔽它们 我正在使用每个人似乎都指出的屏蔽代码 可以在这里找到 http iosdevelopertips com cocoa how to mask an ima
  • 以编程方式访问 Apple Notes 内容

    是否可以以编程方式访问Apple Notes 即macos和ios中预装的应用程序 内容 macOS 上的 Notes 可使用 AppleScript 编写脚本 要注销所有笔记 请打开脚本编辑器并使用以下内容创建一个新脚本 然后单击播放按钮
  • 防止 Realm 在更新对象时覆盖属性

    我已经在 iOS 中设置了一个 REST API 来连接领域对象 然而 我发现在我的对象中创建最喜欢的标志存在问题 我创建了一个最喜欢的布尔值 但是每次从 API 更新该对象时 它都会再次将最喜欢的值设置为默认 false 在这里 我希望这
  • 如何使自定义键盘扩展再次成为第一响应者

    我正在制作一个自定义键盘扩展 在这个键盘中 我有另一个 uitextfield 作为搜索字段 因此当我在自定义键盘上键入时 我不会将文本发送到 safari 的文本字段或某些聊天应用程序的文本字段 而是发送将文本发送到自定义键盘中的 uit
  • 转发 UIAlertView 的可变参数

    我正在尝试设置一个非常简单的UIAlertView带有文本编辑 确定和取消按钮 我想根据文本编辑的内容禁用确定按钮 为了能够保留委托 以便他不会在警报视图之前消失 从而在用户对警报视图执行某些操作时立即导致崩溃 我对其进行了子类化 现在 我
  • 终止应用程序后发送本地通知 swift 2

    当应用程序状态进入终止 不运行状态时 可以在特定时间后执行某些特定任务 func applicationDidEnterBackground application UIApplication print APP in background
  • 如果我在新证书上续订我的配置文件(企业分发方法),我的应用程序是否会停止?

    我有一个通过企业分发方法发布的应用程序 分发证书将在一个月后过期 因此我创建了一个新证书 此外 我还根据具有相同捆绑 ID 和应用 ID 的新证书更新了配置文件 旧的配置文件将像旧证书一样在 1 个月后过期 我的应用程序是通过此配置文件和证
  • 从电话号码确定国际电话代码的算法

    我可以使用 iOS 上的地址簿框架从设备中检索联系人的电话号码 如何区分或识别哪个是国家 地区代码 哪个是实际电话号码 是否可以 国家 地区代码是一个相当混乱的主题 但足够标准 通过一些程序员维护就可以解决它 您可以通过其初始子序列来识别国
  • iPhone 应用程序中的 iOS 7 状态栏恢复为 iOS 6 默认样式?

    在 iOS 7 中UIStatusBar它的设计方式是与视图合并 如下所示 GUI designed by Tina Tav ar http dribbble com shots 1183911 Side menu and status b
  • IOS 无法从 Google Drive 获取文件

    这是我的代码 GTLQueryDrive query GTLQueryDrive queryForFilesList query q NSString stringWithFormat IN parents root self driveS
  • 处理具有不同缩放/分辨率的所有 iPhone 中的 UI [重复]

    这个问题在这里已经有答案了 在 iOS 中处理 iPhone 4 iPhone 5 iPhone 6 iPhone 6 UI 屏幕的最佳方法是什么 iPhone 6 的尺寸 3 倍缩放 坐标空间 414 x 736 像素 iPhone 6
  • 使用 cordova 工具集构建应用程序时出错

    我正在使用 Visual Studio 2017 社区版 并且只需使用 vs 文档中的步骤即可使用 macincloud 服务进行远程构建 我基本上遇到了以下明确的错误 来自构建服务器的远程构建错误https xxxx macincloud
  • 具有自定义视图的相机

    我的应用程序使用相机 我想在相机预览上添加叠加层 例如 我想在使用相机时使用相框 还想添加一个用于相机操作的自定义栏 请帮助我做同样的事情 您可能正在尝试使用 UIImagePickerController 但我知道这个可以解决你的问题 您
  • 有没有办法反转 SKSpriteNode 的颜色

    我想知道是否可以反转 SKSpriteNode 的颜色 或调整色调 您可以通过应用带有 SKEffect 节点的 CIFilter 来反转颜色 像这样的东西应该有效 SKEffectNode effectNode SKEffectNode
  • 在 Mobile Safari 中点击

    敲击
  • 查找 NSString 中子字符串的所有位置(不仅仅是第一个)

    有一个子串在字符串中出现多次 我用rangeOfString 不过好像只能找到第一个位置 如何找到子字符串的所有位置 NSString subString1 NSString subString2 n NSRange range1 newr
  • Swift - 带循环的多个链 http 请求

    两天以来 我感觉我正在搜索整个网络来解决多个 http 请求的问题 所以我的工作流程如下所示 将图像上传到服务器 响应 XML 格式和任务 ID 使用任务 ID 向服务器发出 GET 请求 以检查该任务的状态 响应 XML 格式 其中状态可

随机推荐