[UIScreen mainScreen].scale всегда возвращает 2 для устройств без Retina
Использование xcode 5.1.1 с ios 7.1 для создания приложения только для iPhone.
При запуске этого приложения на любом устройстве, не являющемся сетчаткой (ipad mini, simulator, ipad 2), [UIScreen mainScreen].scale всегда возвращает 2, в результате чего я не могу определить, нахожусь ли я на экране сетчатки.
Это противоречит всем другим постам о проверке сетчатки ( Detect Retina Display)
У кого-нибудь есть альтернативный метод, кроме проверки по списку жестко закодированных устройств?
1 ответ
Кажется, единственный способ - проверить идентификаторы платформы.
Я реализовал это здесь: https://gist.github.com/izackp/2ee0ca4b6c731b254e55
Тем не менее, он не является точным в симуляторе, так как я не получаю уникальный идентификатор, основанный на используемом симуляторе, и он не будет работать для будущих устройств, которые используют ресурсы сетчатки и имеют дисплей без сетчатки.