¿Detecta el color del iPhone / iPad / iPod touch?

¿Hay alguna forma o truco para detectar en qué color (negro / blanco) iPhone, iPad o iPod touch está instalado el iOS?

Quiero cargar las máscaras de interfaz de usuario correspondientes en el caso de dispositivos en blanco y negro.

    Hay una API privada para recuperar el DeviceColor y el DeviceEnclosureColor .

     UIDevice *device = [UIDevice currentDevice]; SEL selector = NSSelectorFromString(@"deviceInfoForKey:"); if (![device respondsToSelector:selector]) { selector = NSSelectorFromString(@"_deviceInfoForKey:"); } if ([device respondsToSelector:selector]) { NSLog(@"DeviceColor: %@ DeviceEnclosureColor: %@", [device performSelector:selector withObject:@"DeviceColor"], [device performSelector:selector withObject:@"DeviceEnclosureColor"]); } 

    He escrito un blog acerca de esto y proporcioné una aplicación de muestra:

    http://www.futuretap.com/blog/device-colors/

    Advertencia: Como se mencionó, esta es una API privada. No use esto en las comstackciones de App Store.

    La respuesta a la pregunta es NO (a partir de ahora) y, personalmente , no creo que valga mucho, porque ¿qué ocurre si el usuario final usa una funda o una funda adicional para su iPhone?

    Sugiero que inicialmente le preguntes al usuario “Oye, ¿cuál es el color de tu teléfono?” y luego hacer en consecuencia.


    Además, una investigación me proporcionó esta información, no estoy seguro si es VERDADERA o si va a ayudarlo.

    El número de serie es la clave 🙂

    Si aabccdddeef es el número de serie del iPhone 4, ee representa el Color, (A4 = negro). Espero que algunos de ustedes comprueben esta información con los suyos para ver si esto es cierto.

    Solo mi valor de 2 centavos: si alguien está buscando los colores del iPhone 5c, los colores a continuación se recogen del sitio web de Apple.

    Espero que sea de utilidad para cualquiera 🙂

    iPhone 5c Colores:

     Green R 179 G 243 B 142 HEX #B3F38E Blue R 123 G 195 B 252 HEX #7BC3FC Yellow R 255 G 243 B 141 HEX #FFF38D Red R 252 G 132 B 142 HEX #FF848E White R 239 G 239 B 239 HEX #EFEFEF 

    De acuerdo con la información rociada en la web, el color del dispositivo está codificado en el número de serie. El blog de iFixit indica que la tercera y penúltima posición contiene la información: xxxxxxxxCCx Para un iPhone 4, A4 indica negro. Nadie parece tener el código para un iPhone 4 blanco, lo cual es extraño. Una publicación en el foro indica que podría ser DZ . Todo el mundo parece estar repitiendo la información de todos los demás aquí.

    Otro sitio, mydigitallife.com , tiene un artículo que enumera los códigos de color de varios modelos anteriores. En algunos casos, las tres posiciones deben leerse juntas para determinar el color. Según este sitio, todos los modelos de iPhone 3G tienen 3N en la posición de código de color; 3NP indica “Black 16GB 3Gs”, y 3NQ indica “White 16GB 3Gs”. El iPhone original (2G) también usa las tres posiciones para indicar el tamaño (no había opciones de color).

    Ya hay una serie de preguntas aquí en SO que te ayudarán a obtener el número de serie del dispositivo.

    Como otros han notado, no, no hay una manera oficial de obtener esta información. Apple lo sabe claramente (busca en iTunes cuando sincronizas) para que puedan estar disponibles. Puede valer la pena levantar un Radar .

    Para fines de depuración compilé una lista más completa de las posibles claves deviceInfoForKey: .

    Las claves interesantes a tener en cuenta (para esta pregunta) son DeviceRGBColor DeviceEnclosureRGBColor . Los valores parecen ser un entero que representa el valor RGB en el formato 0x00rrggbb .

    Aquí, como referencia, están todas las claves que encontré:

     ActiveWirelessTechnology AirplaneMode assistant BasebandCertId BasebandChipId BasebandPostponementStatus BasebandStatus BatteryCurrentCapacity BatteryIsCharging BluetoothAddress BoardId BootNonce BuildVersion CertificateProductionStatus CertificateSecurityMode ChipID CompassCalibrationDictionary CPUArchitecture DeviceClass DeviceColor DeviceEnclosureColor DeviceEnclosureRGBColor DeviceName DeviceRGBColor DeviceSupportsFaceTime DeviceVariant DeviceVariantGuess DiagData dictation DiskUsage EffectiveProductionStatus EffectiveProductionStatusAp EffectiveProductionStatusSEP EffectiveSecurityMode EffectiveSecurityModeAp EffectiveSecurityModeSEP FirmwarePreflightInfo FirmwareVersion FrontFacingCameraHFRCapability HardwarePlatform HasSEP HWModelStr Image4Supported InternalBuild InverseDeviceID ipad MixAndMatchPrevention MLBSerialNumber MobileSubscriberCountryCode MobileSubscriberNetworkCode ModelNumber PartitionType PasswordProtected ProductName ProductType ProductVersion ProximitySensorCalibrationDictionary RearFacingCameraHFRCapability RegionCode RegionInfo SDIOManufacturerTuple SDIOProductInfo SerialNumber SIMTrayStatus SoftwareBehavior SoftwareBundleVersion SupportedDeviceFamilies SupportedKeyboards telephony UniqueChipID UniqueDeviceID UserAssignedDeviceName wifi WifiVendor 

    No. No hay forma de detectar el color exterior de ningún dispositivo.