Пользователь
0,0
рейтинг
8 августа 2012 в 12:06

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

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


И вот еще одно подтверждение: программист 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, — вам в этом поможет.

UPD
Что особенно интересно, так это то, что на растянутом симуляторе под iOS 6 все приложения (и системные тоже), кроме SpringBoard, работают в чёрных рамках. В то же время все системные приложения на растянутом симуляторе с iOS 5.1 выглядят хорошо и работают на весь экран. Скорее всего, в Info.plist приложения должен быть добавлен какой-то параметр, чтобы оно запускалось в iOS 6 на полный экран, а iOS 5 просто еще об этом не знает, и запускает как есть.

Ответ на вопрос «Как ведет себя клавиатура в таком режиме?»


Ответ на вопрос «Уж статус бар точно должен быть сверху экрана...»
Да, есть глюк (видео) при вызове Центра уведомлений (свайп сверху экрана, как на девайсе):

Меркушев Егор @egormerkushev
карма
1,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (32)

  • +7
    Ничего страшного, просто чёрные полосы…
    • +8
      Это определённо лучше, чем сломанный интерфейс. Да и на чёрном устройстве эти полосы сольются с рамкой.
      • 0
        Да, чёрные полосы лучше чем сломанный интерфейс. Ничего страшного…
        • +15
          Так уже было один раз, тут действительно ничего страшного.

          image
    • +7
      Предложите своё решение данной проблемы.
      • +5
        да где там. Такого рода товарищи только цокать языком способны, как правило.
      • 0
        белые полосы!
        • +1
          Давайте так: на черном айфоне — черные полосы, на белом — белые.
          • +1
            Никаких полумер! Только белые, только хардкор!
      • 0
        Такое ощущение, что проблему какая-то другая Эпл создала, а эта Эпл — вынуждена решать. В принципе какая разница, если приложение хорошее, хоть какие полосы могут быть. Ничего страшного.
        • 0
          А вы ведь правы! Эту проблему создала Apple пятилетней давности.
          Мир изменился. Я чувствую это в воде... Apple тоже изменилась.
    • 0
      music.yandex.ru/#!/search?text=2h%20company%20%D0%BF%D0%BE%D0%BB%D0%BE%D1%81%D0%BA%D0%B8
  • НЛО прилетело и опубликовало эту надпись здесь
  • –1
    мне iOS после Android был как глоток свежего воздуха — всего два размера экрана вместо 100500 диких размеров и DPI, никаких «резиновых» лейаутов, идиотских проблем вроде подгонки фоновой картинки под 5 разных соотношений сторон, отдельных лейаутов для 2" телефонов…
    ну, что ж, будем привыкать или ограничиваться «черными полосами»
    • +6
      держите нас в курсе
  • 0
    О, хоть до кого-то дошло, что короткий и широкий телефон — это попросту неудобно и нелепо. А раз этим кем-то оказались Apple (да, такие смартфоны ещё выпускала Nokia, но на неё всем плевать, и выпускает Sony, но её тоже никто не спешит копировать) — можно надеяться, что и остальные производители мобильных телефонов подхватят тренд.
    • +1
      Особенно длинный смартфон выпускала Acer habrahabr.ru/post/122192/, там, кстати, тоже были полосы на многих android приложениях.
  • +3
    Ваш пост можно было поместить в несколько предложений. Дочитал до конца только из желания найти мысли почему люди бояться новых iphone и как преодалеть свои страхи…
    • –3
      Спасибо! Мне очень важно каждое мнение! Особенно ваше!
      • +1
        Аналогично можно высказаться и по поводу вашей статьи.
        • +4
          А я ведь не саркастически написал. На самом деле.
          Это пока тут единственный комментарий, который объясняет мне, почему у поста столько минусов. А это для меня на самом деле важно.
          Впредь буду в тематический, сугубо для технических специалистов блог писать посты (если вообще смогу) краткие, четкие и ясные. Я понимаю, что в этот пост можно сократить до строки: «iOS 6 на экране 640х1136 добавляет неоптимизированным приложения черные полосу сверху и снизу.» Но так всё можно сократить, например, любой обзор до фразы «Брать/Не брать»…
          Признаюсь, может быть я ошибся в заголовке, и надо было его сделать другим.
          • +1
            Не обижайтесь, просто воды многовато. В обзорах всё-таки обычно мало воды и много подробностей, поэтому не хватает просто взять и сказать — «не брать». Там поясняют почему.

            А вашу статью можно просто сократить в 2 раза без особой потери аргументов и фактов.
  • 0
    А если вытащить клавиатуру, как она себя ведет?
  • +3
    > уже никто не сомневается
    А я таки сомневаюсь (-:
  • +2
    названия ключей интересные:
    <key>eagle</key>
    <string>640</string>
    <key>giraffe</key>
    <string>1136</string>
    
  • +1
    Да, есть глюк при вызове Центра уведомлений

    А как на эмуляторе вызвать центр уведомлений?
  • +4
    Хе-хе-хе, добро пожаловать в мир где твое приложение работает более чем на одном девайсе, с разными экранами и физическими размерами.
    • +4
      Если занудствовать, то iOS-разработчики уже пару лет как в этом мире — те, что пишут универсальные приложения для iPhone и iPad (в том числе и я). Но, конечно, в их мире по зеленым лужайкам гуляют единороги и в воздухе порхают бабочки. По сравнению с миром, например, Android-девелоперов — просто рай, по-моему.
  • –1
    Не понимаю, на хрена это все. Неужели 150 точек сильно улучшат айфон? А проблем у разработчиков будет как на Андроиде… Такая была красота раньше.
    • 0
      Когда ты крупный вендор, тебе приходится выбирать: или насрать на мнение пользователей и пилить для разработчиков (Линукс — да здравствует консоль), или насрать на разработчиков и пилить для пользователей (Эппл — лови объедки си и ничего другого не моги). В общем — это было закономерно — длинный и узкий экран удобен для пользователей.
      В этом плане Майкрософт лавирует где-то недалеко от середины. За что ее попеременно ругают то пользователи, то разработчики. Но именно это ее основная фишка, позволяющая быть лидером в своей нише.
      И нет ничего удивительного, что когда кто-то пытается приблизиться к идеологии Майрософта, сразу находится куча недовольных из стана последователей.
  • +2
    Хорошо бы они новый образовавшийся внутренний объём использовали, чтобы засунуть аккумулятор побольше. Вот это было бы реальным плюсом.
    • 0
      К сожалению, емкость возрастет всего на 10 миллиАмпер•час. Если верить тому, что всплывшая на днях батарея оригинальная.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.