2017-09-19 3 views

Antwort

8

Die Liste der Geräte auf der Grundlage ihrer internen Modells zu identifizieren, ist wie folgt:

- (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; 
} 

EDIT:

In 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 == "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 
} 

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

+1

Dies war die Antwort, die ich suchte .. vollständige Antwort. Danke Budy – Ali

Verwandte Themen