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


116

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

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

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

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


У меня такая же проблема на 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" (или другую раскадровку, если необходимо).


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/


2
Это сработало для меня и кажется намного лучшим решением, чем добавление новой случайной раскадровки в ваш проект.
Джереми

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

Это решение не будет работать, если вам нужно предоставить настраиваемое представление для изображения запуска или ваше изображение запуска отличается от контроллера начального представления раскадровки.
Химаншу Махаджан

17

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


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 . После добавления новых изображений я могу видеть полноэкранные изображения.


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 решает проблему.



0

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

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

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

Это оно!


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.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.