Я использую такой код для этой же цели:
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
return [[UIScreen mainScreen] scale] == 2.0 ? YES : NO;
return NO;
Только устройства iOS 4.x + поддерживают метод экземпляра UIScreen scale
.И поскольку iPhone4 не поддерживает iOS 3, мы можем исключить это сразу.Затем мы проверяем, равен ли масштабный коэффициент 2,0, если мы знаем, что он имеет дисплей сетчатки.
Хотя это не является окончательным (яблоко может выпустить еще одно устройство сетчатки глаза завтра), он тестирует «модель», гдеэто важно - то есть вы могли бы получать изображения из веб-службы, предоставляющей изображения @x и стандартные изображения, что я и делаю, а это значит, что вам нужно написать поддержку масштабирования изображений вручную, вы не получите еебесплатно как с UIImage -imageNamed:
для локальных файлов.