Para detectar la pantalla Retina de manera confiable en todos los dispositivos iOS, debe verificar si el dispositivo ejecuta iOS4 + y si la [UIScreen mainScreen].scale
propiedad es igual a 2.0. NO PUEDE asumir que un dispositivo está ejecutando iOS4 + si la scale
propiedad existe, ya que el iPad 3.2 también contiene esta propiedad.
En un iPad con iOS3.2, la escala devolverá 1.0 en modo 1x y 2.0 en modo 2x, aunque sabemos que el dispositivo no contiene una pantalla Retina. Apple cambió este comportamiento en iOS4.2 para iPad: devuelve 1.0 en los modos 1x y 2x. Puede probar esto usted mismo en el simulador.
-displayLinkWithTarget:selector:
Pruebo el método en la pantalla principal que existe en iOS4.x pero no en iOS3.2, y luego verifico la escala de la pantalla:
if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
([UIScreen mainScreen].scale == 2.0)) {
// Retina display
} else {
// non-Retina display
}