Черные полосы появляются в приложении при нацеливании на 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, экран будет выглядеть как положено, все будет белым.

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

5 ответов

Решение

Я смог решить проблему вручную, похоже, это ошибка с XCode, и я подам отчет радара.

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

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

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

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

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

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

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

Другие вопросы по тегам