Para detectar a exibição Retina de maneira confiável em todos os dispositivos iOS, é necessário verificar se o dispositivo está executando o iOS4 + e se a [UIScreen mainScreen].scale
propriedade é igual a 2.0. Você NÃO PODE assumir que um dispositivo está executando o iOS4 + se a scale
propriedade existir, pois o iPad 3.2 também contém essa propriedade.
Em um iPad executando o iOS3.2, a escala retornará 1.0 no modo 1x e 2.0 no modo 2x - mesmo sabendo que o dispositivo não contém uma tela Retina. A Apple alterou esse comportamento no iOS4.2 para o iPad: ele retorna 1.0 nos modos 1x e 2x. Você pode testar isso sozinho no simulador.
-displayLinkWithTarget:selector:
Testo o método na tela principal existente no iOS4.x, mas não no iOS3.2, e depois verifico a escala da tela:
if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
([UIScreen mainScreen].scale == 2.0)) {
// Retina display
} else {
// non-Retina display
}