Разработчик, не бойся нового iPhone

в 8:06, , рубрики: apple, iOS, iphone 5, xcode, разработка, разработка под iOS, метки: , , , ,

Многие разработчики ожидают новых проблем от выхода нового iPhone, так как уже никто не сомневается, что разрешение его экрана будет больше, чем у iPhone 4 и 4S. С каждым днём поступает всё больше подтверждений, что новый айфон обзаведется экраном с разрешением 640x1136, то есть вытянется в высоту.
Разработчик, не бойся нового iPhone

И вот еще одно подтверждение: программист Cédric Luthi с ником 0xced опубликовал в своем блоге запись, проливающую свет на то, как были сделаны скриншоты iOS Simulator из вчерашней новости с 9to5Mac. Простое изменение конфигурационных файлов iOS Simulator приводит к его запуску в нестандартном на данный момент разрешении 640x1136 (можно и в других, как я понял).

Проблемы

Я протестировал этот твик сначала на текущем Xcode и iOS Simulator 5.1 — все мои приложения (особенно те, что на Cocos2D) поплыли в большей или в меньшей степени. Где-то появились черные дыры, где-то элементы позиционируются не так, относительно друг друга. Приложения на Cocos2D версии 1.x плохо работают с ориентацией устройства, точнее — вообще не работают. Я был в ужасе.

ios5.1 in 640x1136ios5.1 in 640x1136 2

Если у вас или вашей команды в App Store уже достаточно много приложений — такое незаурядное событие вызовет много головной боли. Надо будет обновить каждое приложение, исправить все недочеты верстки, устранить жесткие привязки к размеру экрана и тому подобное.

Но не стоит сильно беспокоится! Apple подумала о пользователях и разработчиках: в App Store довольно много приложений уже не получают ни поддержки, ни обновлений — нельзя же их бросать на произвол судьбы и позволять им выглядеть на новом айфоне просто ужасно!

Решение

ios6
Я запустил с тем же твиком бету Xcode и iOS Sumulator 6. И обнаружил то, что и предполагал. Чтобы интерфейс приложения «не поплыл», Apple добавила в iOS 6 такую фичу: при запуске старого, неадаптированного приложения сверху и снизу экрана добавляются черные полосы, которые урезают доступное приложению пространство на экране до обычных 3:2 (или 2:3, смотря какая ориентация), и приложение выглядит нормально. Заметим, что таким свойством не обладает iOS 5, из чего можно сделать вывод, что iPhone 5 (или 6?) выйдет сразу на новой iOS.
ios6.0 in 640x1136ios6.0 in 640x1136

Так что, дорогие коллеги, если у вас было беспокойство по поводу нового разрешения, можете сильно не переживать — с выходом нового айфона негативных отзывов о ваших приложения, связанных с нарушенным внешним видом, вряд ли прибавится. Времени для приведения интерфейса в порядок будет достаточно, а нововведение iOS 6 — Auto Layout, перекочевавшее с Mac OS, — вам в этом поможет.

Автор: egormerkushev

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js