iOS - iPhone 8,8 Plus和iPhone X的设备平台字符串/内部模型
答
以识别设备的列表基于它们的内部模型是如下:
- (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:@"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,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;
}
编辑:
在夫特
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 == "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,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
这是我正在寻找的答案..完整答案。感谢budy – Ali