Connaître le type d'appareil – Retina / non-Retina

Dupliquer possible:
Détecter l'affichage de la rétine

Comment pouvons-nous savoir si un appareil a un affichage rétine ou non du code objective C?

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] >= 2.0) { // Retina } else { // Not Retina } 

Vous pouvez vérifier la propriété de l' scale sur [UIScreen mainScreen] si c'est 2.0 que vous utilisez sur la rétine, si ce n'est pas 1.0. Vous pouvez également get l'échelle du context CoreGraphics actuel.

Je ne pense pas que vous puissiez le déterminer directement. Vous devrez déduire à partir des informations de model que vous pouvez récupérer à partir de sysctlbyname (voir les pages man iOS). Par exemple:

 sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); 

vous donnera une string comme "iPhone3,1" qui a un écran rétine, ou "iPhone 2,1" qui n'a pas.