tengo saber que prenderlo precios modelos modelo cómo cuál cuantos como a1586 ios iphone objective-c xcode

saber - modelos de iphone y precios



Identificar el nuevo modelo de iPhone en xcode(5, 5c, 5s) (6)

Objective-C & SWIFT

Esto funciona en todas las versiones, como iOS 6, iOS 7 e iOS 8, etc.

Y actualizado para iPhone 6 y iPhone 6 Plus

-(void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding]; NSLog(@"iPhone Device%@",[self platformType:platform]); free(machine); } - (NSString *) platformType:(NSString *)platform { if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"; 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,3"]) return @"Verizon iPhone 4"; if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (GSM)"; 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:@"iPhone7,2"]) return @"iPhone 6"; if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus"; if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s"; if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus"; if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhone SE"; if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone 7"; if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone 7 Plus"; if ([platform isEqualToString:@"iPhone9,3"]) return @"iPhone 7"; if ([platform isEqualToString:@"iPhone9,4"]) return @"iPhone 7 Plus"; if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G"; if ([platform isEqualToString:@"iPad1,1"]) return @"iPad"; if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"; if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (WiFi)"; if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini (WiFi)"; if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini (GSM)"; 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 (GSM)"; if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (WiFi)"; if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (GSM)"; 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,3"]) return @"iPad Air"; if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G (WiFi)"; if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G (Cellular)"; if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G"; if ([platform isEqualToString:@"iPad4,7"]) return @"iPad Mini 3 (WiFi)"; if ([platform isEqualToString:@"iPad4,8"]) return @"iPad Mini 3 (Cellular)"; if ([platform isEqualToString:@"iPad4,9"]) return @"iPad Mini 3 (China)"; if ([platform isEqualToString:@"iPad5,3"]) return @"iPad Air 2 (WiFi)"; if ([platform isEqualToString:@"iPad5,4"]) return @"iPad Air 2 (Cellular)"; 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; }

este código también es seguro para AppStore.

SWIFT 3.2

override func viewDidLoad() { super.viewDidLoad() var sysInfo = utsname() uname(&sysInfo) let machine = Mirror(reflecting: sysInfo.machine) let identifier = machine.children.reduce("") { identifier, element in guard let value = element.value as? Int8, value != 0 else { return identifier } return identifier + String(UnicodeScalar(UInt8(value))) } NSLog("Device Type ----> %@", self.platformType(platform: identifier as NSString)); print(self.platformType(platform: identifier as NSString)) } func platformType(platform : NSString) -> NSString{ if platform.isEqual(to: "iPhone1,1") { return "iPhone 1G" } else if platform.isEqual(to: "iPhone1,2"){ return "iPhone 3G" } else if platform.isEqual(to: "iPhone2,1"){ return "iPhone 3GS" } else if platform.isEqual(to: "iPhone3,1"){ return "iPhone 4" } else if platform.isEqual(to: "iPhone3,3"){ return "Verizon iPhone 4" } else if platform.isEqual(to: "iPhone4,1"){ return "iPhone 4S" } else if platform.isEqual(to: "iPhone5,1"){ return "iPhone 5 (GSM)" } else if platform.isEqual(to: "iPhone5,2"){ return "iPhone 5 (GSM+CDMA)" } else if platform.isEqual(to: "iPhone5,3"){ return "iPhone 5c (GSM)" } else if platform.isEqual(to: "iPhone5,4"){ return "iPhone 5c (GSM+CDMA)" } else if platform.isEqual(to: "iPhone6,1"){ return "iPhone 5s (GSM)" } else if platform.isEqual(to: "iPhone6,2"){ return "iPhone 5s (GSM+CDMA)" } else if platform.isEqual(to: "iPhone7,2"){ return "iPhone 6" } else if platform.isEqual(to: "iPhone7,1"){ return "iPhone 6 Plus" } else if platform.isEqual(to: "iPhone8,1"){ return "iPhone 6s" } else if platform.isEqual(to: "iPhone8,2"){ return "iPhone 6s Plus" } else if platform.isEqual(to: "iPhone8,4"){ return "iPhone SE" } else if platform.isEqual(to: "iPhone9,1"){ return "iPhone 7" } else if platform.isEqual(to: "iPhone9,2"){ return "iPhone 7 Plus" } else if platform.isEqual(to: "iPhone9,3"){ return "iPhone 7" } else if platform.isEqual(to: "iPhone9,4"){ return "iPhone 7 Plus" } else if platform.isEqual(to: "iPod1,1"){ return "iPod Touch 1G" } else if platform.isEqual(to: "iPod2,1"){ return "iPod Touch 2G" } else if platform.isEqual(to: "iPod3,1"){ return "iPod Touch 3G" } else if platform.isEqual(to: "iPod4,1"){ return "iPod Touch 4G" } else if platform.isEqual(to: "iPod5,1"){ return "iPod Touch 5G" } else if platform.isEqual(to: "iPad1,1"){ return "iPad" } else if platform.isEqual(to: "iPad2,1"){ return "iPad 2 (WiFi)" } else if platform.isEqual(to: "iPad2,2"){ return "iPad 2 (GSM)" } else if platform.isEqual(to: "iPad2,3"){ return "iPad 2 (CDMA)" } else if platform.isEqual(to: "iPad2,4"){ return "iPad 2 (WiFi)" } else if platform.isEqual(to: "iPad2,5"){ return "iPad Mini (WiFi)" } else if platform.isEqual(to: "iPad2,6"){ return "iPad Mini (GSM)" } else if platform.isEqual(to: "iPad2,7"){ return "iPad Mini (GSM+CDMA)" } else if platform.isEqual(to: "iPad3,1"){ return "iPad 3 (WiFi)" } else if platform.isEqual(to: "iPad3,2"){ return "iPad 3 (GSM+CDMA)" } else if platform.isEqual(to: "iPad3,3"){ return "iPad 3 (GSM)" } else if platform.isEqual(to: "iPad3,4"){ return "iPad 4 (WiFi)" } else if platform.isEqual(to: "iPad3,5"){ return "iPad 4 (GSM)" } else if platform.isEqual(to: "iPad3,6"){ return "iPad 4 (GSM+CDMA)" } else if platform.isEqual(to: "iPad4,1"){ return "iPad Air (WiFi)" } else if platform.isEqual(to: "iPad4,2"){ return "iPad Air (Cellular)" } else if platform.isEqual(to: "iPad4,3"){ return "iPad Air" } else if platform.isEqual(to: "iPad4,4"){ return "iPad Mini 2G (WiFi)" } else if platform.isEqual(to: "iPad4,5"){ return "iPad Mini 2G (Cellular)" } else if platform.isEqual(to: "iPad4,6"){ return "iPad Mini 2G"; } else if platform.isEqual(to: "iPad4,7"){ return "iPad Mini 3 (WiFi)" } else if platform.isEqual(to: "iPad4,8"){ return "iPad Mini 3 (Cellular)" } else if platform.isEqual(to: "iPad4,9"){ return "iPad Mini 3 (China)" } else if platform.isEqual(to: "iPad5,3"){ return "iPad Air 2 (WiFi)" } else if platform.isEqual(to: "iPad5,4"){ return "iPad Air 2 (Cellular)" } else if platform.isEqual(to: "AppleTV2,1"){ return "Apple TV 2G" } else if platform.isEqual(to: "AppleTV3,1"){ return "Apple TV 3" } else if platform.isEqual(to: "AppleTV3,2"){ return "Apple TV 3 (2013)" } else if platform.isEqual(to: "i386"){ return "Simulator" } else if platform.isEqual(to: "x86_64"){ return "Simulator" } return platform }

Esta pregunta ya tiene una respuesta aquí:

Estoy escribiendo una aplicación que tiene una funcionalidad diferente según el modelo de iPhone. ¿Hay alguna manera de distinguir entre iPhone 5 y 5c 5s? No puedo verificar la pantalla porque es idéntica. Gracias por adelantado.


Prueba esta biblioteca:

https://github.com/erica/uidevice-extension/

Puedes obtener cosas como esta:

[[UIDevice currentDevice] platformType]; // ex: UIDevice4GiPhone [[UIDevice currentDevice] platformString]; // ex: @"iPhone 4G"


Sé que estoy un poco adelantado, pero ¿alguien conoce la plataforma para el iphone 6? Entonces, si se agrega a la lista anterior, sería iPhone6,3 y iPhone6,4 (solo un invitado alocado ...)

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)";


Use esto para obtener el identificador de modelo de dispositivo, como iPhone6,2 o iPhone 3,1. Luego puede hacer una instrucción if y verificar, si el identificador es igual a un prefijo y luego puede asignar el nombre correcto a un NSString.

Aquí está el código:

#import <sys/utsname.h> NSString *deviceType; struct utsname systemInfo; uname(&systemInfo); deviceType = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];


echa un vistazo a la propiedad del modelo en la clase "UIDevice". O intenta usar este código

NSString *deviceType = [UIDevice currentDevice].model; NSLog(@"DEVICE TYPE %@", deviceType);

mira este ENLACE

Espero que esto ayude


Aquí hay una solución ...

1) Defina una lista de dispositivos con la actualización iPhone 6s (8,1) y 6s plus (8,2) ::

//DeviceList #define HARDWARE @{ @"i386": @"Simulator", @"x86_64": @"Simulator", @"iPod1,1": @"iPod Touch", @"iPod2,1": @"iPod Touch 2nd Generation", @"iPod3,1": @"iPod Touch 3rd Generation", @"iPod4,1": @"iPod Touch 4th Generation", @"iPhone1,1": @"iPhone", @"iPhone1,2": @"iPhone 3G", @"iPhone2,1": @"iPhone 3GS", @"iPhone3,1": @"iPhone 4", @"iPhone4,1": @"iPhone 4S", @"iPhone5,1": @"iPhone 5", @"iPhone5,2": @"iPhone 5", @"iPhone5,3": @"iPhone 5c", @"iPhone5,4": @"iPhone 5c", @"iPhone6,1": @"iPhone 5s", @"iPhone6,2": @"iPhone 5s", @"iPad1,1": @"iPad", @"iPad2,1": @"iPad 2", @"iPad3,1": @"iPad 3rd Generation ", @"iPad3,4": @"iPad 4th Generation ", @"iPad2,5": @"iPad Mini", @"iPad4,4": @"iPad Mini 2nd Generation - Wifi", @"iPad4,5": @"iPad Mini 2nd Generation - Cellular", @"iPad4,1": @"iPad Air 5th Generation - Wifi", @"iPad4,2": @"iPad Air 5th Generation - Cellular", @"iPhone7,1": @"iPhone 6 Plus", @"iPhone7,2": @"iPhone 6", @"iPhone8,1": @"iPhone 6S (GSM+CDMA)", @"iPhone8,2": @"iPhone 6S+ (GSM+CDMA)" }

2) Agregar archivo de encabezado ::

#import <sys/utsname.h>

3) Para obtener un nombre de dispositivo ::

//To get the Device_name struct utsname systemInfo; uname(&systemInfo); deviceName=[HARDWARE objectForKey:[NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]]; NSLog(@"Device Name::%@",deviceName);