середу, 19 вересня 2012 р.

Как быстро программно определить наличие iPhone 5

Сегодня  грядет релиз iOS 6.0, и соответственно под нее выходит Xcode 4.5 и iOS SDK 6.0. Пора начинать подготавливать свои проекты под новый вытянутый экран айфона. И хоть почти все стандартные элементы сами растягиваются под новое разрешение (достаточно добавить Default для нового разрешения в проект) — все же наступает момент, когда без кода не обойтись!

Основная задача состоит в том, чтобы определить запущено ли приложение на iPhone 5 (или симуляторе iPhone 5) или нет.

Вариантов определения тут может быть несколько:

  • по размеру экрана
  • по модели девайса (iphone5,1)
  • по размеру оперативной памяти
  • по характеристикам процессора

Вероятно что-то еще упустил, но это уже незначительно. Естесственно, первый вариант наиболее простой, т.к. будет работать как на самом девайсе, так и на симуляторе.

Причем это можно сделать одной строкой

#define IS_IPHONE_5 (fabs((double)[[UIScreen mainScreen] bounds].size.height - (double)568) < DBL_EPSILON)

Впоследствии, IS_IPHONE_5 мы сможем использовать, например, так:

if (IS_IPHONE_5) {
//это запущено на экране в 4 дюйма!
} else {
//экран размером не 4 дюйма
}

Вот и все!

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments