Запуск изображения не отображается в приложении iOS (используя Images.xcassets)

У меня возникли проблемы с отображением моего образа запуска в моем приложении.

Я создал все файлы статического изображения в файле Images.xcassets в наборе активов, называемом LaunchImage.

Я заметил, что мой проект также содержит файл LaunchScreen.xib(который был автоматически создан Xcode).

Этот файл .xib появляется, когда я запускаю приложение на своем устройстве iPhone6. Он не отображается в симуляторе для iPhone4 (что имеет смысл, поскольку экран запуска xib предназначен только для iOS 8 +).

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

В настройках проекта я заметил, что есть раздел под названием App Icons and Launch Images. Я вижу, как .xib подключается с помощью параметра "Файл экрана запуска", который я предполагаю.

Однако есть опция Launch Image Sources. Что это делает?

Я нашел это: http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/. Тем не менее, он ничего не объяснил в опции "Источник запуска запуска".

Рядом с Launch Image Sources находится кнопка "Использовать каталог активов". Когда я нажимаю на него, он просто говорит "Перенести стартовые изображения" в каталог активов. Ваши существующие изображения запуска будут скопированы в новый набор изображений. Выберите каталог активов для использования:.

Это меня смущает, потому что я уже создал свой каталог активов, и я определенно не хочу, чтобы он перезаписывал файл images.xcassets. Итак, как мне связать это с созданным мной набором свойств запуска, который я уже создал? Также, какие "существующие изображения запуска" относятся к этому, будут скопированы в новый набор изображений?

Спасибо!

UPDATE 1

Итак, я попробовал параметр переноса изображений и выбрал новый параметр. Это вызвало создание нового образа, который я удалял. Тем не менее, имя, оставшееся в исходном источнике изображения, было установлено в LaunchImage, которое каким-то образом связано с набором изображений, содержащим мои изображения запуска. Это испортило мой набор LaunchImage - изображения были настроены как неназначенные. Я удалил их и перетащил файлы в соответствующее поле в наборе свойств LaunchImage. Однако, когда я запускаю приложение, он все равно не работает. = (Launch Image не отображается.

Я даже удалил информацию, которая была в Launch Screen File (что мое предположение было параметром, который подключается к файлу .xib). Тем не менее, как-то файл .xib появляется на моем устройстве iPhone6. = (

Любые идеи, что происходит?

Ответ 1

Я, наконец, понял это!

Итак, в настройках вашего проекта перейдите к разделу, в котором говорится: App Icons and Launch Images

Удалите информацию, найденную в Launch Screen File, если вы не хотите использовать файл .xib.

Затем в Launch Image Source выберите "Перенести", и если вы уже создали файл LaunchImage и добавили к нему изображения. Затем выберите каталог активов, который отображается. Имя того, которое содержит ваши изображения запуска.

Это создаст новый образ Launch-Image2 в вашем наборе изображений. Чтобы использовать тот, который вы уже создали, щелкните раскрывающееся меню рядом с пунктом "Запустить источник изображения". И вы должны увидеть свой другой образ запуска Launch. Выберите его. Затем заново создайте приложение и запустите его. Вы должны увидеть свой стартовый образ. =)

Надеюсь, это поможет!

Примечание. Он не будет удалять ваши изображения, которые у вас уже есть в каталоге активов. Он просто создаст новый набор активов LaunchImage.

Ссылка: https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/StoringAppIconsandLaunchImagesinanAssetCatalog.html

Ответ 2

У меня была эта проблема. Я тестировал на симуляторе. Я оставил пустой файл "Launch screen file" и удалил строку о "файле экрана запуска" внутри plist. Я перезапустил Xcode. Ничего. В моем случае в черном не было белого цвета. Xcode 7 target ios 9.

Я также прочитал эту статью: Запуск изображения не отображается в моем приложении iOS

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

Ответ 3

Это слишком важно !

должен быть пустым! Launch Screen File

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

Ответ 4

Рабочий раствор. Сэкономил мое время и надеюсь, что это спасет и ваше.

  • Убедитесь, что ваши изображения имеют точный размер в соответствии с рекомендациями Apple.
  • Убедитесь, что вы выберете только одну опцию: файл экрана запуска или источник изображения запуска. Вы можете найти эти две опции в настройках сборки проекта → Общие

Очистить и построить.

Рекомендуемое решение шаг за шагом:

  1. Создайте объекты-заставки (имя как LaunchImage) в папке Image.assts.
  2. Выберите актив LaunchImage в опции Launch Image Source.
  3. И Очистить текст в опции Файл запуска экрана.
  4. Очистить и построить.
  5. Ниже приведено справочное изображение для правильной конфигурации:

enter image description here

Ответ 5

У нас был подобный вопрос сегодня. Пытался позволить xCode автоматически создавать Asset, но он всегда был не назначен.

Решение заключалось в том, чтобы вручную создать Launch Image в ImageAsset и назначить файлы для его соответствующего разрешения.

Похоже, что xCode создал другой тип актива Launch Image, поэтому он не признал актив (v8.3.2)

Ответ 6

У меня была эта проблема в XCode 9.4.1, которая, как оказалось, была вызвана тем, что папка assets не была включена в Bundle Resources. Выберите проект, затем свою цель. Перейдите в "Фазы сборки" и откройте "Копировать ресурсы комплекта". Если нужной группы .xcassets нет в списке, просто перетащите ее из браузера файлов.

Работал на меня...

Ответ 7

Я просто понял это. Мой образ запуска не показывался, я получаю белый экран при запуске на устройстве (iPhone 6, 7+) или testFlight. Исправлено: переименован "Landing_screen.png" на "Landing_screen", удалив часть .png. fooobar.com/questions/76695/...

Ответ 8

Решено! Я много пробовал. Проблема заключалась в том, что изображение запуска отображается в симуляторе и не отображается в реальном устройстве. В нем есть Раскадровка с UIImageView. Странно было то, что старые изображения работали, и изображения, которые я недавно добавлял. Сначала я подумал, что это проблема с активами. Нет. Я проверил цветовые профили и сделал много попыток с разными профилями: левое рабочее изображение, не работающее. Не помогло. введите описание изображения здесь

Затем я запустил google и нашел this thread

Основные решения отсюда:

1) Не помог мне.

Измените свойство изображения моего изображения запуска с помощью приложения Preview: [Инструменты → Назначить профиль... → Профиль ColorSync: < > ]

2) Помогли

Даже удаление приложения и повторная установка с XCode не работают. Однако изменение идентификатора пакета работает. Без каких-либо других изменений существующий идентификатор пакета не показывает изображений, но новый идентификатор пакета показывает их все правильно. Я делаю это как временную работу, поскольку предыдущий пост в этой ветке предполагает, что установка сборок через TestFlight не сталкивается с проблемой.

3)

Я сделал три вещи (первые два сами по себе не делали этого, но, возможно, помогли третьим, которые действительно работали)
1) Скопировал все изображения в корневой каталог (то же место, что и xcode помещает изображения)
2) Создал папку в Images.xcassets и разместил изображения там. 3) Первоначально изображения в файле launchScreen.xib imageName.png. Это было изменено только на imageName (удалить файл расширение.

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

4) Помогает, но старая и грубая

Извлечение изображений из каталога активов устраняет проблему для меня. Я просто добавил изображение @1x, @2x и @3x, используемое на экране запуска, чтобы проект по-старому и, похоже, работает нормально. Попытка подтвердите это через TestFlight сейчас, но iTunes Connect не ведет себя на данный момент.

Я думал, что это проблема с iPhone. Поэтому вам не нужно предупреждать об этом, поэтому изображение будет отображаться при установке с помощью testFlight. После этого вывода я сделал следующее и работал:

1) Удалить приложение
2) Перезагрузка телефона
3) Создайте приложение для телефона

Ответ 9

Закройте симулятор и откройте его снова у меня сработало

Ответ 10

У меня есть такая же проблема.

На заставке изображение не отображается, но правильно отображаются метки и вид.

Чтобы решить проблему, сначала проверьте все вышеперечисленные параметры в вашем коде. Если ничего не работает, то перезагрузка iPhone решает мою проблему.

Надеюсь, что это кому-то пригодится (рад помочь) :)

Ответ 11

Я просто потратил немного времени на ту же проблему, но нашел ответ и поместил его в Учебник Youtube

  1. Создайте свой ArtWork Image. 1024x1024, что соответствует требованиям Apple для Appicons и LaunchImages
  2. Создайте папку для хранения вновь созданных Assets.xcassets
  3. Откройте Asset Creator Pro и перетащите в него новое изображение.
  4. Сначала делайте значки приложений, помещая созданный файл в новую папку.
  5. Используя то же самое изображение, выберите LaunchImages далее и "Добавьте" созданный набор в новый существующий файл Assets.xcassets.
  6. Откройте свой проект XCode и удалите существующую - возможно, пустую - папку Assets.xcassets. Если у вас есть другие файлы, просто удалите наборы Appicons и Launchimages.
  7. Перетащите только что созданные активы в проект XCode, убедившись, что вы установили опцию Копировать файлы. Иногда это может быть выключено! берегитесь.
  8. проверьте, что в кассетах, вы должны увидеть ваши новые изображения.
  9. Убедитесь, что строка "Файл экрана запуска" в настройках вашего проекта пустая.
  10. Убедитесь, что раскадровка LaunchScreen пустая. Что-нибудь там и изображения не будут загружаться.

Попробуй это.

Смотреть видео.

Ответ 12

После нескольких часов неясных ответов:
1) Зайдите в раздел настройки приложения в разделе xCode.
2) Прокрутите вниз до значков приложений и запуска изображений.
3) Очистить файл экрана запуска (просто оставьте его пустым)
4) Установите LaunchIms Source на LaunchImage (не забудьте создать их в Assets.xcassets)
Теперь приложение будет использовать изображения, которые вы установили в LaunchImage.