В своем приложении я загружаю некоторые изображения из Интернета (если быть точным, с моего сервера), чтобы сэкономить пропускную способность и особенно память на телефоне, я предоставляю их в двух разрешениях: 480x320 для «старого» iPhone серии и в 960x640 для iPhone 4 с дисплеем сетчатки. Теперь мне нужно иметь возможность определять из приложения, когда оно работает на устройстве, которое поддерживает экран сетчатки. Как я мог это сделать?
Я думал об использовании приведенного ниже фрагмента кода, который вернул бы мне определенный идентификатор устройства, например, например. «iPhone3», но тогда я бы ограничил обнаружение iPhone4 и должен был бы обновить этот код для любого последующего устройства с дисплеем сетчатки.
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];
Есть ли лучшее решение (может быть, это очень очевидно, но я его пропустил)?