iOS 9 Xcode 7 - приложение отображается с черными полосами сверху и снизу

116

Установил приложение на iPhone 6 iOS9 и вот что произошло. Обратите внимание на черные полосы сверху и снизу. Он отлично работает на iOS8. Как я могу это исправить?

Я пробовал строить с Xcode 6.4 и 7. Тот же результат.

(iPhone 5 раньше запускал такие приложения для iPhone 4)

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

Mojtaba
источник
У меня такая же проблема на iPhone 6 сразу после обновления до iOS 9
aledalgrande
Вы используете в своем приложении навигацию или контроллер панели вкладок?
Ing. Ron
@RonWood И то, и другое.
Mojtaba
Попробуйте исправить здесь: stackoverflow.com/questions/32312906/…
aledalgrande

Ответы:

187

Вы перенесли свое приложение из более ранней версии Xcode? Если это так, то теперь Xcode делает предположение о размере вашего экрана, и вам нужен способ указать фактический размер экрана во время выполнения.

Есть два способа:

а) Если вы используете стартовый экран.

Вам не хватает файла LaunchScreen.storyboard. Создайте файл LaunchScreen.storyboard и добавьте его в свой проект.

б) Если вы не используете стартовый экран.

Зайдите в настройки вашего Target и выберите General, затем App Icons и Launch Images. Теперь установите "Файл экрана запуска" на свой "main.storyboard" (или другую раскадровку, если необходимо).

Gruntcakes
источник
1
Каким должно быть содержимое LaunchScreen.storyboard? Я получаю сообщение об ошибке, что раскадровки OSX не поддерживают целевое устройство «iphone»
adamF
4
Вам не нужен файл LaunchScreen. Другой вариант - предоставить необходимые изображения запуска для каждого поддерживаемого размера экрана.
rmaddy
У меня такая же проблема при открытии приложения в iOS 9.1, но моя проблема была решена путем добавления изображений экрана запуска для всех разрешений, спасибо @rmaddy
g212gs
4
В моем случае мне нужно изменить «Файл экрана запуска» на MainStoryBoard, если у вас нет Launch.screen.storyboard, чтобы заставить его работать
Эван Лин
Вариант b у меня работал правильно! Это сводило меня с ума, спасибо большое!
frisinacho
29

Мое приложение не использует изображение запуска. Установка «Файл экрана запуска» на мой файл «main.storyboard» устранила проблему для меня.

Этот параметр находится в разделе «Цель-> Общие-> Значки приложений и изображения для запуска».

Используйте следующую ссылку для получения дополнительной информации: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/

dreamer.psp
источник
2
Это сработало для меня и кажется намного лучшим решением, чем добавление новой случайной раскадровки в ваш проект.
Джереми
1
Если это проект быстрого запуска Parse IOS, перейдите в Target-> General-> Значки приложений и изображения запуска и значение раскрывающегося списка «Файл экрана запуска» будет пустым. Таким образом, выбор «Main.storyboard» решит проблему «черных полос сверху и снизу».
sfbayman 06
Это решение не будет работать, если вам нужно предоставить настраиваемое представление для изображения запуска или ваше изображение запуска отличается от контроллера начального представления раскадровки.
Химаншу Махаджан
17

Для меня проблема в том, что я переношу свое приложение из более ранней версии Xcode, а в проекте отсутствует файл LaunchScreen.storyboard. Я только что создал LaunchScreen.storyboard и добавил его для запуска файла экрана. Это сработало. Приложение с черными полосами сверху и снизу раствор

smapps
источник
6

Я использую xcode 7.2. Сначала я создал файл LaunchScreen.storyboard, как предложил перманганат калия , и это сработало! Однако мне не нужен был экран запуска, поэтому я попытался установить Main.storyboard в качестве файла экрана запуска, и это помогло!

xcode 7.2

Макс Хироюки Уэда
источник
2

При переносе приложения с более ранней версии xCode на xCode 6 или xCode 7 вы столкнетесь с этой проблемой.

Для iOS 7 и более ранних версий разработчикам необходимо предоставить отдельные изображения для запуска для всех размеров экрана, разрешений и ориентации, поддерживаемых их приложением.

В Xcode 6 или новее есть другой вариант. Вы можете указать раскадровку, начальный контроллер представления которой будет использоваться в качестве экрана запуска приложения. Используйте следующие шаги:

  • Создайте пустой файл раскадровки с именем LaunchScreen.storyboard.

  • Перейдите к целевым настройкам и на вкладке «Общие» выберите раскадровку в качестве файла экрана запуска в разделе «Значки приложений и изображения запуска». Xcode добавит соответствующий ключ UILaunchStoryboardName в Info.plist вашего приложения. Когда этот ключ присутствует, Xcode будет отдавать ему приоритет над любыми изображениями запуска, которые вы могли установить.

  • Добавьте несколько подпредставлений в недавно созданный вид раскадровки и разместите их с ограничениями. Когда вы запускаете приложение на устройстве, ОС должна использовать сцену в качестве экрана запуска.

Удалите старое приложение из симулятора и очистите проект.

Ура :-)

Химаншу Махаджан
источник
2

У меня такая же проблема в моем приложении. В моем приложении к проекту добавлено несколько целей. Если я использую решение для раскадровки запуска, я могу видеть весь экран, но в моем случае изображение обеда выглядит размытым и растянутым на iPhone 4. Чтобы решить эту проблему, я использовал решения LaunchImage. После этого я все еще сталкиваюсь с той же проблемой. Я пробовал все вышеперечисленные решения, в конце концов, я обнаружил, что мои изображения png не включают разрешения ALPHA . После добавления новых изображений я могу видеть полноэкранные изображения.

VDPATEL
источник
2

Это если вы вообще не используете раскадровку.

Это происходит при удалении LaunchScreenиз Launch Screen Fileв App icons and Launch Images. введите описание изображения здесь

Вместо того, чтобы удалять его отсюда, перейдите в info.plist, найдите Launch screen interface file base nameи удалите LaunchScreen, т.е. оставьте поле пустым. введите описание изображения здесь

Это обыкновение показывать в info.plist , если вы удалили LaunchScreenуже с Launch Screen File. Затем вы можете дать любое имя, Launch Screen Fileи оно появится, и вы можете удалить его.

Алок Субеди
источник
1

Перейдите в каталог ресурсов и создайте новое изображение для запуска iOS. затем в Target> General> App Icons и Launch Images> Launch Image Source вы автоматически увидите новое изображение запуска, созданное в каталоге ресурсов.

Мохин Беларрем
источник
1

В моем случае у меня есть несколько целей в проекте, и у каждой есть свои изображения экрана запуска. Странно, что одна из целей выглядит нормально, но у других есть черные полосы. Дело было в названии папки запуска внутри активов. Изменение имени на LaunchImage решает проблему.

d.rozumeenko
источник
1

Swift 4.2

выберите LaunchScreen.storyboard, если он пуст

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

Шакил Ахмед
источник
0

В моем случае у меня есть один актив с изображениями запуска, но он также отображает верхнюю и нижнюю темные полосы.

Я попробовал запустить раскадровку, и да, она работает, но я не хотел добавлять новый файл, поэтому вот что я сделал, чтобы исправить проблему:

  1. Скопировал мои изображения запуска в другую папку
  2. Удален существующий актив LaunchImage.
  3. Добавлен новый актив LaunchImage
  4. Добавлены изображения в новый LaunchImage

Это оно!

Wils
источник
0

Перейдите к целевым настройкам в xcode в этом разделе, перейдите в раздел значков приложений и запустите изображения в этом разделе выберите файл экрана запуска, вы найдете раскрывающийся список значений выберите значение CDVLaunchScreeen против значения файла экрана запуска

Шанкар Прасад
источник
0

У меня была аналогичная проблема с iPod. Чтобы исправить это, я заменил

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>

с участием

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreenIphone</string>

в Info.plist.

Роман Подымов
источник
-1

Не делайте ничего, что описано в предыдущих ответах ...

Чтобы отобразить View Controller, выполните следующий шаг

Step 1 : Add the splash Screen for iPhone and iPad.

После этого эта ошибка больше не повторится.

Шубхам Джайн
источник