- PVSM.RU - https://www.pvsm.ru -

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

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

И вот еще одно подтверждение: программист Cédric Luthi с ником 0xced опубликовал в своем блоге запись [2], проливающую свет на то, как были сделаны скриншоты iOS Simulator из вчерашней новости [1] с 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 [3], перекочевавшее с Mac OS, — вам в этом поможет.

Автор: egormerkushev


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/12804

Ссылки в тексте:

[1] Image: http://9to5mac.com/2012/08/07/upcoming-ios-6-is-scalable-to-taller-640-x-1136-iphone-display-shows-possible-next-generation-device-user-interface/

[2] запись: http://0xced.blogspot.co.at/2012/08/prepare-your-apps-for-new-iphone.html

[3] Auto Layout: http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AutolayoutPG/Articles/Introduction.html#//apple_ref/doc/uid/TP40010853-CH1-SW1