В приложении появляются черные полосы при нацеливании на iOS7.1 или 7.0 в Xcode6.

Действия по воспроизведению:

  1. Создайте новый проект с помощью Xcode6 (шаблон с одним представлением, только для iPhone, Objective-C)
  2. Перейдите к настройкам проекта и измените цель развертывания с 8.0 на 7.1.
  3. Запустите приложение на iPhone5/S с установленной версией 7.1 или в симуляторе iPhone5/s 7.1 (возможно, вам придется загрузить симуляторы iOS7.1)
  4. Приложение отображается с черными полосами сверху и снизу.

введите здесь описание изображения

Если вы запустите приложение на симуляторе iPhone5/S 8.0, экран будет выглядеть, как и ожидалось, полностью белым.

Почему это происходит? Есть ли исправление или обходной путь?


person Kris Gellci    schedule 12.09.2014    source источник


Ответы (5)


Мне удалось решить проблему вручную, похоже, это ошибка с Xcode на данный момент, и я отправлю отчет о радаре.

Чтобы решить эту проблему, выполните следующие действия:

  1. Перейдите к настройкам проекта
  2. В разделе «Значки приложений и изображения запуска» нажмите «Использовать каталог активов».
  3. Выберите «Мигрировать» в появившемся всплывающем окне.

Это должно решить проблему.

person Kris Gellci    schedule 12.09.2014
comment
Ага. У меня работает. Из любопытства, вы искали и клеили исправление или нашли что-то в документации? - person jpittman; 03.10.2014
comment
Мне пришлось поискать, сузить его, пытаясь понять, какая разница существует между тем, у которого нет черных полос, и тем, у которого они есть. В компиляторе должно быть какое-то условие, которое было введено во время перехода с 3,5 на 4 устройства, и теперь оно срабатывает, что кажется вполне нормальным вариантом использования. - person Kris Gellci; 03.10.2014
comment
Кроме того, мой экземпляр Xcode 6 давно представил вариант миграции, и я сделал это до того, как у меня возникла эта проблема. Но, используя ваш ответ в качестве подсказки, я смог решить свою проблему, посмотрев, чего не хватает в разделах «Образы запуска» и «Значок приложения», как вы предложили. Моя проблема заключалась в том, что мне не хватало изображения запуска iOS7.0 и более поздних версий iPhone! Не могу поверить, что это было так просто! Спасибо, что разобрались с этим! - person iOS4Life; 26.01.2015
comment
К сожалению, это не сработало для меня. Я уже использовал каталоги активов, поэтому я нажал «Не использовать каталоги активов», а затем последовал инструкциям. Все еще та же проблема - person adamF; 25.09.2015

Я столкнулся с той же проблемой несколько дней назад и обнаружил, что проблема в моем случае заключалась в отсутствующем LaunchScreen.xib в общих настройках под значками приложений и изображениями запуска:

введите здесь описание изображения

person Massimo Polimeni    schedule 04.05.2015
comment
В моем случае переноса значка приложения и изображения запуска было недостаточно. Когда я установил файл экрана запуска на свою обычную раскадровку, все сработало хорошо. - person Christian; 24.11.2015
comment
Спасибо. Мои значки и изображения запуска также были установлены правильно, но LaunchScreen был пуст. Это исправило это для меня. - person Edison; 08.12.2015
comment
Так просто, но так приятно :) - person Luis B; 17.12.2015

У меня была такая же проблема с Xcode 7 beta 1 и образцом кода UICatalog, и я мог решить ее, выбрав Main.storyboard в общих настройках в разделе «Значки приложений» и «Изображения запуска» для файла экрана запуска.

person user3687284    schedule 27.06.2015

Я столкнулся с той же проблемой. Похоже, что LaunchScreen.xib не может адаптироваться к размеру экрана всех 4-х дюймовых устройств под iOS7.

person Jiang    schedule 14.09.2014
comment
Правильно, проверьте мой ответ на мой вопрос для исправления. - person Kris Gellci; 14.09.2014

В iOS7 (на которой я тестировал), если бы я не добавил изображение 640x1136 в активы LaunchImage для iPhone Portrait 7.0 Retina, я бы получил верхнюю и нижнюю панели. Добавление ресурса в формате PNG решило проблему на iOS7.

person Kris Subramanian    schedule 02.12.2015