Запуск изображения не отображается в приложении 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.
- Убедитесь, что вы выберете только одну опцию: файл экрана запуска или источник изображения запуска. Вы можете найти эти две опции в настройках сборки проекта → Общие
Очистить и построить.
Рекомендуемое решение шаг за шагом:
- Создайте объекты-заставки (имя как LaunchImage) в папке Image.assts.
- Выберите актив LaunchImage в опции Launch Image Source.
- И Очистить текст в опции Файл запуска экрана.
- Очистить и построить.
- Ниже приведено справочное изображение для правильной конфигурации:
![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
- Создайте свой ArtWork Image. 1024x1024, что соответствует требованиям Apple для Appicons и LaunchImages
- Создайте папку для хранения вновь созданных Assets.xcassets
- Откройте Asset Creator Pro и перетащите в него новое изображение.
- Сначала делайте значки приложений, помещая созданный файл в новую папку.
- Используя то же самое изображение, выберите LaunchImages далее и "Добавьте" созданный набор в новый существующий файл Assets.xcassets.
- Откройте свой проект XCode и удалите существующую - возможно, пустую - папку Assets.xcassets. Если у вас есть другие файлы, просто удалите наборы Appicons и Launchimages.
- Перетащите только что созданные активы в проект XCode, убедившись, что вы установили опцию Копировать файлы. Иногда это может быть выключено! берегитесь.
- проверьте, что в кассетах, вы должны увидеть ваши новые изображения.
- Убедитесь, что строка "Файл экрана запуска" в настройках вашего проекта пустая.
- Убедитесь, что раскадровка LaunchScreen пустая. Что-нибудь там и изображения не будут загружаться.
Попробуй это.
Смотреть видео.
Ответ 12
После нескольких часов неясных ответов:
1) Зайдите в раздел настройки приложения в разделе xCode.
2) Прокрутите вниз до значков приложений и запуска изображений.
3) Очистить файл экрана запуска (просто оставьте его пустым)
4) Установите LaunchIms Source на LaunchImage (не забудьте создать их в Assets.xcassets)
Теперь приложение будет использовать изображения, которые вы установили в LaunchImage.