Détecter écran retina/iPhone 4 à l'iPhone SDK

Dans ma demande, je suis le téléchargement des images à partir du web (à partir de mon serveur pour être précis), afin d'économiser de la bande passante et en particulier de la mémoire sur le téléphone, je leur fournis en deux résolutions: 480 x 320 pour le "vieux" iPhone de la série et de 960x640 pour l'iPhone 4 avec l'écran retina. Maintenant, j'ai besoin d'être en mesure de détecter à partir de l'application lorsqu'il est exécuté sur un périphérique qui prend en charge l'écran retina. Comment pourrais-je le faire?

J'ai pensé à l'aide de l'extrait de code ci-dessous qui serait me rendre un périphérique spécifique identificateur, tel que par exemple. "iPhone3", mais alors je serais la limitation de la détection de l'iPhone4 et aurait besoin de mettre à jour le code pour tout autre appareil doté d'un écran retina.

size_t size;

//Set 'oldp' parameter to NULL to get the size of the data
//returned so we can allocate appropriate amount of space
sysctlbyname("hw.machine", NULL, &size, NULL, 0); 

//Allocate the space to store name
char *name = malloc(size);

//Get the platform name
sysctlbyname("hw.machine", name, &size, NULL, 0);

//Place name into a string
NSString *machine = [NSString stringWithCString:name];

Est-il mieux soution (peut-être que c'est très évident, mais je l'ai raté)?

InformationsquelleAutor Robin | 2010-07-17