iOS Xcode LaunchScreen Раскадровка не отображается

Я пытаюсь использовать раскадровку LaunchScreen Xcode в качестве экрана запуска? Все вопросы, которые задавались ранее по этому поводу, относятся к старому изображению запуска или методу .xib - пытаясь сделать это сейчас с помощью новой раскадровки LaunchScreen, которую Xcode генерирует автоматически вместо этого. Я выбрал раскадровку LaunchScreen в качестве файла экрана запуска в моей информации о развертывании:  Изображение с информацией о развертывании

Сама раскадровка подтверждает, что она установлена ​​в качестве экрана запуска в инспекторе файлов.

Инспектор файлов раскадровки LaunchScreen

И файл info.plist это тоже отражает.

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

И все же это не работает. Раскадровка LaunchScreen никогда не отображается - она ​​просто переходит прямо на первый экран в моей основной раскадровке. Использование Xcode 7.2 и развертывание на iOS 9.


person A. Vin    schedule 29.04.2016    source источник


Ответы (18)


Включите эти два параметра для LaunchScreen.storyboard

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

person StackUnderflow    schedule 22.12.2016
comment
Это следует выбрать как лучший ответ. Контроллер начального представления делает свое дело. :) - person Q i; 02.04.2017
comment
У меня включены обе эти настройки, и проблема не устранена. - person jnel899; 01.06.2017
comment
Я решил проблему, удалив свой файл LaunchScreen.storyboard и создав новый. Кажется, это ошибка со стороны Apple, что-то, что требует обходного пути и не может быть решено только с помощью правильной конфигурации. - person jnel899; 01.06.2017
comment
Используйте LaunchScreen.storyboard по умолчанию и ничего больше, придерживайтесь плана ... план работает! - person StackUnderflow; 03.03.2018
comment
Контроллер начального представления не существует для меня в последней версии XCode 11.5 - person Curtis; 19.06.2020
comment
Да, это так. Вы должны выбрать контроллер представления. dropbox.com/s/mxljq4pzi0ger99/36947371.png?dl=0 < / а> - person StackUnderflow; 20.06.2020
comment
У меня включены обе эти настройки, и проблема не устранена. - вам нужно отменить выбор и снова выбрать Это начальный контроллер представления - person Petro Novosad; 11.11.2020

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

person abanet    schedule 11.11.2019
comment
Это похоже на ошибку. - person Sean Novak; 08.05.2020
comment
Работает для меня. Спасибо! - person Wenzhong Hu; 01.06.2020

** Удалите приложение с устройства. Повторно запустить. **

В моем случае все предложенные настройки были установлены правильно, но по-прежнему оставался исходный пустой экран запуска. В духе предложения AmJa относительно проблемы с "кешем" я удалил свое приложение со своего устройства и переустановил. Переустановка помогла мне как на устройствах, так и на симуляторах.

person Marcy    schedule 13.04.2018
comment
Да, учитывая все остальные хорошие ответы здесь, в конце концов, старый экран запуска сохранялся, пока я не удалил и не переустановил. Излишне говорить, что это не совсем жизнеспособное решение для конечных пользователей, но это то, что есть. - person Rob; 05.01.2020
comment
Это единственный ответ, который у меня сработал после того, как я попробовал все остальное на этой странице - спасибо! - person pizza7; 25.01.2020

Еще нужно убедиться, что для файла экрана запуска установлено значение Launch Screen.storyboard.

Файл экрана запуска

person Vicki Lee    schedule 01.02.2018
comment
Это то, что у меня сработало - сделал все остальное, затем проверил эту настройку проекта, и после ее добавления, бум - был показан экран запуска. Спасибо. - person Jools; 01.07.2020

В случае, если кто-то еще столкнется с этой проблемой, я решил ее, просто удалив ViewController на моей раскадровке LaunchScreen (оставив меня с пустой раскадровкой), создав новый ViewController и сбросив точку входа раскадровки на этот новый ViewController. В XCode 7.2 может быть какая-то ошибка в отношении раскадровки LaunchScreen и точки входа по умолчанию в автоматически созданный контроллер представления, но опять же, я пробовал повторить это 3 раза, и он никогда не повторялся, поэтому может быть нет.

person A. Vin    schedule 30.04.2016
comment
Это не решение, см. Ниже. - person StackUnderflow; 22.12.2016
comment
Чтобы решить мою проблему, мне пришлось удалить файл LaunchScreen.storyboard и добавить новый. Достаточно досадный баг. - person jnel899; 01.06.2017

Как отметил в своем ответе @abanet, любой, кто использует Xcode 11.2 и выше, должен удалить свое приложение и запустить его снова, чтобы увидеть изменения экрана запуска. Это не отражается сразу. Похоже, что ошибка Xcode определенно не является интенцией.

person Sivajee Battina    schedule 02.12.2019

На всякий случай кому-то поможет. Сценарий, я создал свой новый проект и скопировал старое изображение запуска из другого проекта. И затем я начал получать изображение запуска, но когда я хотел изменить его на новое изображение, я все еще просматривал старое изображение, оно застряло навсегда как изображение запуска, независимо от того, что я делаю. Затем я сбросил свой симулятор и перезапустил свой iPhone, и вот, я начал получать новое изображение. Похоже, что где-то в документах или в кеше устройства хранят старое изображение, пока вы не перезагрузите телефон. Спасибо

person AmJa    schedule 31.03.2017
comment
это был мой случай - person Pinar Olguc; 14.12.2017

В раскадровке в сцене ViewController мне пришлось проверить Is Initial View Controller, чтобы раскадровка отображалась как Launch Storyboard.

На удивление это не проверяется, когда вы добавляете первый контроллер представления. Xcode 11.

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

person Martin Berger    schedule 01.11.2019

Другие решения у меня не сработали, но это сработало:

  • Включение и выключение ориентации устройства (например, поддержка вверх ногами) и скрытие строки состояния в целом.

Я не уверен, какой из них сработал, но теперь он работает. введите здесь описание изображения

person Johnny Rockex    schedule 05.09.2018
comment
Не могу поверить, что это исправило - что интересно, я должен оставить флажок Скрыть строку состояния установленным, иначе изображение запуска перестает отображаться (с использованием Xcode 11.1). - person Shaun; 11.10.2019
comment
Я не могу поверить, что это исправило !!!! Я пробовал десятки других предложений, но это было решение. - person Chuck Krutsinger; 14.10.2020

Как исправить для Xcode 11.0 и более поздних версий:

  • Сделайте это: https://stackoverflow.com/a/41287094/2190175, если вы еще этого не сделали, и после этого :
  • Удалить приложение с устройства / симулятора
  • Перезагрузите устройство / симулятор

Причина: часть раскадровки "Экран запуска" кэшируется во время разработки и не изменяется, пока вы не удалите приложение с устройства / симулятора и не переустановите его полностью.

person Andrei Konstantinov    schedule 27.07.2020

Если вы ничего не видите и в вашем Launchscreen.storyboard есть только ImageView, то на самом деле он может отображать раскадровку, но не изображение. Попробуйте вставить в него кнопку или что-то в этом роде. Я обнаружил, что мой Launchscreen.storyboard действительно отображается, но не показывает никаких изображений, и я не знаю почему.

person Curtis    schedule 01.05.2019

Я бился головой об стену из-за этого, поскольку Xcode 10.1 не включает параметр запуска для нового 11-дюймового iPad Pro при создании нового набора изображений для запуска iOS, а без него iPad Pro не отображается правильно, оставляя У меня нет выбора, кроме как заставить это работать с раскадровкой экрана запуска.

Я пробовал сочетать так много вещей, но я хотел опубликовать, что в итоге заставляло его работать в 100% случаев (что, по сути, было комбинацией нескольких вещей).

Как вы, несомненно, читали, для UIImageView в раскадровке экрана запуска НЕ ​​следует включать расширение (.jpg или .png). Так много сообщений говорят об этом, но не учитывают, что причина в том, что вы должны создать новый набор изображений в Images.xcassets (НЕ набор изображений экрана запуска, а просто набор изображений) и назвать его как хотите (например, «Запуск- Дефолт"). Затем перетащите нужный .jpg или .png в новый набор изображений. Затем вы будете использовать имя этого изображения, установленное в UIImageView в раскадровке, и все должно работать нормально (изображение должно даже отображаться внутри Interface Builder).

Кроме того, в общих настройках проекта обязательно установите файл экрана запуска для вашей новой раскадровки.

person John Holtkamp    schedule 26.11.2018


Проблема также может заключаться в том, что LaunchScreen.storyboard не добавлен в эту цель.

Чтобы исправить это, откройте LaunchScreen.storyboard, затем нажмите File Inspector и в разделе Target Membership добавьте его в нужную цель.

person Mina Gerges    schedule 10.09.2020

Я пробовал все, что здесь упоминалось, единственное, что у меня сработало, - это создание нового файла LaunchScreen. Я использую Xcode 12.1 (не забудьте обновить ссылку в настройках целей)

person AW5    schedule 09.11.2020

В моем случае цвет фона представления (полный экран) был установлен на "отсутствующий" цветовой литерал! Попробовав все выше, конечно; (

person FlimFlam Vir    schedule 01.02.2019

Изображение jpg вызывает проблему, измените расширение на png или используйте другое изображение png Работает как шарм для меня

person fromlucknow    schedule 16.10.2020

в xcode9 swift4 раскадровке LaunchScreen используйте изображение в формате .jpg и снимите флажок четкого графического контекста для просмотра изображений. это абсолютно работает.

person Sajjad Parmar    schedule 11.01.2018