Запустіть екранну дошку, не відображаючи зображення


162

Я намагаюся отримати зображення, яке відображатиметься як екран запуску з мого файлу Launch Screen.storyboard, проте зображення ніколи не відображається. У мене є мітки, які добре відображаються, але зображення не відображається.

Ось так виглядає екран запуску у файлі Launch Screen.storyboard: введіть тут опис зображення

Однак, коли я запускаю додаток на тренажері (як і на фізичному пристрої), це відображається:

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

Як бачите, мітка "Тест" відображається добре, проте зображення не відображається. Я дійсно не впевнений, чому це відбувається, і ніщо, що я намагаюся, здається, не працює. Якщо хтось має якісь ідеї, як це виправити, це буде дуже вдячно.


1
переконайтесь, що ваше зображення у належному форматі PNG . не jpg, якщо є.
Уткарш Сінгх


3
Той факт, що кілька, абсолютно різні відповіді мають багато відгуків, дуже і дуже сумно.
Даніель Спрінгер

1
Чи можливо, якщо зображення занадто велике і час його завантаження займає занадто багато часу, його відкидають з екрану запуску?
Луббо

@Lubbo Я думаю, що в цій теорії є щось. У мене є вигляд запуску, який має велике зображення і маленьке, маленьке завантажує прекрасне, а велике - ні. Невелике зображення у xcassets, а велике, яке я спробував як у файлі активів, так і поза ним.
Том Бейтс

Відповіді:


327

Після перезапуску Xcode, очищення збірки та ряду інших пропозицій щодо ТА щодо цієї проблеми. Насправді це для мене виправлено - це важке перезавантаження пристрою. (Я витрачав на це більше години)

Я припускаю, що це просто показує, що старий вислів ви вимкнули і знову ввімкнули для останніх гаджетів!

Як перезавантажити iPhone XS або iPhone XS Max

  1. Швидко натисніть та відпустіть кнопку збільшення гучності
  2. Швидко натисніть і відпустіть кнопку зменшення гучності
  3. Натисніть і потримайте бічну кнопку, поки не з’явиться логотип Apple

30
Цей хлопець правильний. Просто виконання важкої перезавантаження пристрою виправило це для мене!
Lance Samaria

4
Якщо проблема зображення не оновлювалася після її перезапису в активах. Дякую за пораду, повністю вийшов із тренажера та перезапустивши його, оновив попередній перегляд. Дуже дивно, що ніщо інше, здавалося, не зробило трюку.
Кіліан

3
Дякую. Він також працює для тренажера. Після перезапуску тренажера нарешті з'являється зображення на Launch Scree.storyboard. Це безумовно помилка iOS.
Вінс Юань

4
Тут же проблема. Навіть коли я змінив зображення на стартовому екрані в тренажері, старе зображення якимось чином зберігалося в кеші на моєму телефоні. Спробували чисту збірку, змінили ім’я файлу, змінили зображення, не вийшло. Мені довелося вимикати і вмикати телефон. Це і виправило.
Пол

3
Це 2020 рік, і це все ж врятувало мені день! Дякую!
Безалеїл

91

Я годинами возився з цим. Але я знайшов рішення зараз. Вам потрібно додати зображення до свого проекту, а також до активів.xcassets за допомогою перетягування.


8
Це було все. Зображення повинно бути як в проекті, так і в активах. Це як гра в удару-моль. Яка порада це виправить? ніхто не знає.
FranticRock

хто знав, що вам доведеться додати зображення і в проект
Абдул Вахід,

2
Додавання зображення просто до проекту вирішило мою проблему :)
Sneha,

3
Дякую, це сортувало це для мене. Щоб додати до цього, я раніше назвав зображення з розміром (launch280.png, launch560.png, launch840.png), а також додав актив до Assets.xcassets з назвою активу launch. Але все одно не вийшло. Мені довелося перейменовувати файли зображень на launch.png, launch@2x.png і start@3x.png, додати їх до проекту, додати їх як актив, що називається launch, а потім він працював. Завдяки компанії Apple для створення найпростіших речей , без необхідності складних ¬_¬
Mashers

2
Ааа, я вже вдруге 3 роки потому ... Це квітень 2020 року, у XCode все ще є ця помилка ... Приємно ...
FranticRock

42

У мене була та сама проблема, додавши зображення до "Фази збірки -> Копіювати ресурси ресурсу", виправили це для мене.


6
Це те, що мені було потрібно. Зображення має бути в основному пакеті, а не у файлі активів.
Меонардо

Це те, що зробило це для мене.
Кріс

Виправили це для мене, дякую!
adam eliezerov

28

Виконайте нижче кроки,

  1. Видаліть програму з пристрою
  2. Перезавантажте пристрій
  3. Будуйте заново

Якщо не працює, видаліть отримані дані. Налаштування Xcode-> Locationtab-> Отримані дані. Потім виконайте вищезазначені дії.


25

Це трапилось зі мною і зводить мене з розуму, окрім того, щоб втратити кілька хвилин, поки я не зрозумію.

Отже, як було сказано раніше:

  1. Імпортуйте потрібне зображення у ваш проект Xcode (просто перетягніть його)
  2. Змініть свої обмеження та вирівнювання
  3. Оновіть кадри, що вирішують проблеми з автоматичною розкладкою
  4. У меню вкладки Інспектор атрибутів (як правило, у правому куті меню xCode), у вікні Перегляд зображення> Зображення, видаліть розширення зображення (.png або .jpg) - ось у чому фокус

На екрані дизайну він не з’явиться, але коли ви запустите додаток, він буде показаний.

Я сподіваюся, що це може допомогти!


1
працював на мене! перш ніж спробувати ваше рішення, єдиним способом, який я отримав, це було перезавантаження мого телефону! Дякую
Filipe Sá

1
Дякую! Поняття не маю, як ти його знайшов, але воно працює!
Стас Вольський

Так, справді!! Хитрість полягає в тому, щоб видалити розширення зображення з .png файлів зображень! .jpg файли не працювали, тому мені довелося перетворити їх у .png! Велике спасибі Jhnosore!
ActiveA

24

Дуже засмучує. Рішення, яке остаточно спрацювало:

  1. Робіть важку перезавантаження пристрою

  2. Видалити додаток

  3. Встановіть додаток з Xcode


17

Нарешті, перезапуск телефону працює для мене !!

Я витратив години на це питання. Спробував змінити ім’я зображень, видалити цілі об’єкти зображень, змінити info.plist, перезапустити Xcode і навіть спробував встановити всі атрибути зображень (які ви можете сказати, наскільки я був у відчаї).


Це не дає відповіді на запитання. Коли у вас буде достатня репутація, ви зможете коментувати будь-яку публікацію ; натомість надайте відповіді, які не потребують уточнення від запитувача . - З огляду
Адам Річардсон,

Мені шкода @AdamRichardson, вона дає відповідь і правильна, і це було моєму випадку. Мені просто потрібно було ПОВЕРНУТИСЯ телефон / тренажер.
Kegham K.

Я витратив 16 годин на те, щоб вирішити це, і, нарешті, перезапустивши телефон, зробив фокус.
Крішнан

2
Я думаю, що хтось із Apple, що міг би це виправити, повинен думати: "О, їм просто потрібно перезапустити телефони - це не так, як це впливає на версії версій чи що-небудь інше. Ми можемо залишити це завдання на потім".
dinesharjani

Зрештою, це перезавантажило телефон, який
Тейлор Максвелл

12

Ця проблема пов’язана з Assets.xcassets, щоб її виправити, ви повинні додати зображення як ресурс, але не у папку xcassets, а потім має працювати чудово


2
Це єдине досі вирішене рішення. Перезапуск xcode, очищення отриманих даних, зміна назви зображення не спрацювали. Я не рекомендую перезавантажувати пристрій як рішення нікому
NightFury

ця помилка така ж стара, як і створення xcassets. Я подумки заповнив його у своїй папці "речі яблука ніколи не вирішаться".
Качка

8

У моєму випадку проблема усунення вмісту та налаштувань симулятора виправила проблему.


7

Я зіткнувся з тією ж проблемою.

  1. Додайте новий набір зображень у набори XcodeAssets.
  2. Додайте зображення до набору зображень.
  3. Додати перегляд зображення для запуску екрана та встановити набір зображень як зображення
  4. У інспекторі атрибутів Imageview зніміть прапорець "Очистити графічний контекст"
  5. Очистіть папку збірки та запустіть знову.

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


5

Здається, є якась проблема з кешуванням ресурсів у xCode. Була така ж проблема, перезапустили xCode і після цього все працює добре.



3

Спробувавши все на кількох потоках StackOverflow, ось що для мене спрацювало:

  • Використовуйте .png
  • Не включайте його до каталогу активів. Додайте його безпосередньо до ієрархії проекту, як і будь-який вихідний файл.
  • У вікні зображення завантажте зображення, включаючи його розширення. Приклад: start_app_image.png

(Можливо, для оновлення потрібно очистити продукт або отримані дані, але мені не довелося)


2020, і це все ще актуально, іноді зміна зображення на новий PNG всередині каталогу, коли він працює, зупинить його. Переконайтесь, що це річ рівня стиснення, але звичайні файли зображень працюють.
Мітчелл Керрі,

3

У мене була ця проблема після додавання зображення до проекту та збиття пристрою, яку вирішила проблема


3

Була змінена фонове зображення екрана заставки, і нове зображення не відображалося (реагуйте на рідний проект).

Слідом за відповідями інших.

Я зробив усе нижче, і це було виправлено:

  • Чиста збірка.
  • Видаліть додаток із симулятора
  • Закрийте тренажер
  • Перезапустіть XCode
  • Запустити додаток ще раз

3

Ну На сьогоднішній день є пристрій для сітківки, і я проігнорував @1xзображення в Assets.xcassets.

У моєму випадку на логотипі екрана у мене є логотип програми, який не видно під час запуску програми.

Після того, як витрачати так багато часу , я зрозумів, що я тільки при умови @2xі @3xзображень для цього зображення логотипу.

Цю проблему вирішується додаванням @1xверсії цього зображення.


1
ти врятував мій день!
kambala

2

Ви повинні переконатися, що назва вашого зображення має такий формат, як .png або .jpg наприкінці, інакше воно не працюватиме. Крім того, перш ніж додавати зображення, ви повинні переконатися, що файл зображення знаходиться у папці "Assets.xcassets" у вашому проекті. Це можна зробити за допомогою простого перетягування. Крім того, переконайтесь, що ви додали своє зображення на дошку, що назва зображення у верхньому лівому куті також відповідає дійсному імені файлу зображення. Я б спробував заглянути і в обмеження. Сподіваюся, це допомагає. Удачі з вашим додатком.


2

Я витратив години на цю проблему, перш ніж нарешті зрозумів свою помилку. Коли ви додасте зображення до UIImageView, воно буде використовувати лише ім'я зображення. Якщо ваші зображення в іншій папці, ніж у вашій розкадровці, вони відображатимуться в xcode, але не під час запуску програми. Ви повинні додати відповідний префікс шляху до файлу, наприклад, images / image.png. Тепер він з’явиться як синій знак питання в xcode, але він буде працювати в додатку.


2

Просто щоб додати моє 0,02 долара до цього питання; Я вирішив це, використовуючи зображення PNG замість зображень JPG / JPEG.

Перетворивши зображення в PNG і розчавивши їх, щоб трохи зменшити розмір, все працювало нормально.


2

Вклавши багато часу, я отримав рішення: -

Step 1:- Quit Xcode
Step 2:- Delete the app from device/simulator
Step 3:- Restart your device (if you are using simulator then you have to quit simulator)
Step 4:- Clear all derived data 
Step 5:- Clear Bin
Step 6:- Open Xcode and relaunch the app, it will work 

це працювало для мене завдяки
Діліп Тіварі

@DilipTiwari ласкаво просимо :)
Vipul Kumar

1

Я зіткнувся з тим же питанням. Для цього випробували різні рішення, але нічого не виявилося корисним. Потім я зрозумів, що зображення не видно лише тоді, коли я безпосередньо встановив додаток у пристрій, а додаток все ще підключено до xcode. Якщо я відключу його, а потім відкрию програму, зображення було видно, як очікувалося. Це може бути помилка xcode.


1

Я спробував очистити проект, видалити png, видалити обмеження не вдалося мені.

Я щойно зробив ще одну копію зображення і перейменував копію, потім видалив старе зображення і додав нове зображення (Те саме, з ім'ям змінено), я просто дав це зображення, і воно працювало на мене.

Також я не використовую Assets.xcassets, використовуючи зображення в папці.


1

Я спробував так багато речей з цим (здається, що одна тільки нитка має мільйон ідей, і половина з них суперечать). Проблема для мене полягала в тому, що коли я робив такі речі, як перезапуск пристрою та Xcode, це призведе до того, що зображення відображатиметься протягом декількох сеансів програми, а потім воно зупиняється (я не маю поняття чому, але WOW це дратувало) .

Через незліченну кількість годин я виявив, що відповідь АГ у цій темі правильна. Єдине, що я робив неправильно, це те, що я створював новий набір зображень в межах xcassets, але я все ще використовував ім'я зображення в межах UIImageView всередині аркуша розкадровки, а не використовуючи ім'я набору зображень.

Щоб уточнити, що ви зробите, це створити новий набір зображень і назвати його чимось на кшталт "Запустити за замовчуванням", а потім додати до нього свої зображення. Потім у UIImageView всередині аркуша розкадри ви використовуєте зображення "Запуск-за замовчуванням" (не включаючи розширення, оскільки його немає, оскільки це набір зображень).

Коли ви все це зробите, зображення насправді має відображатися правильно у вашій дошці. Деякі люди кажуть, що зображення не відображатиметься, якщо ви не використовуєте розширення (.jpg або .png), але я припускаю, що це тому, що вони не використовують назву набору зображень. Інші кажуть, що вам потрібно використовувати розширення на зразок .png або .jpg, але ключовим є створення образу, встановленого всередині xcassets, а потім використання цього зображення, встановленого всередині табло розмов. Якщо все зроблено правильно, не повинно бути функціональності, як зображення, яке не відображається, або екран запуску, який працює лише деякий час (вимагає перезавантаження).


1

У моєму конкретному випадку екран бризки працював на тренажері та інших пристроях, але перестав працювати для одного конкретного пристрою. Це змусило мене повірити, що це деякі дані кешування, що зберігаються xcode (v10 та iPhone 7 v12.1).

Я видалив отримані дані за адресою: ~/Library/Developer/Xcode/DerivedData/лише видалення вмісту папки, не видалення папки. Потім я перезавантажив mac та iPhone і очистив та відновив проект, і тепер він з’являється.

Я не впевнений, чи все це було потрібно, але не хотів більше витрачати час на його звуження, тому вищеназваний підхід кувалди працював на мене. Але, звичайно, це завжди залежить від вашої конкретної ситуації - моя була специфічною для пристрою; для інших це може бути власне зображення або макет екрану запуску тощо.


1

Моє питання.

Причина: я перейменував зображення після перетягування в Xcode. Рішення: Не перейменуйте зображення після перетягування в Xcode. Це створює проблеми для розуміння Xcode. Перейменуйте зображення перед перетягуванням / додаванням у Xcode.

Сподіваюся, це допоможе тобі!


0

Я щойно це зрозумів. Моє запуск зображення не відображався, під час запуску на пристрої (iPhone 6, 7+) або testFlight я отримую білий екран. Виправлення: Перейменовано на "Landing_screen.png", щоб просто "Landing_screen" видалити .png частину. Значок зображення в Xcode змінено на білий значок, а на панелі розгортки екрану зображення зараз відображається як знак питання. Тепер з’являється зображення «Запуск», а не білий екран. Моя настройка: я використовую Swift 3.1 з Xcode 8.3.1. У LaunchScreen.storyboard я додав простий вид зображення і розтягнув зображення, щоб відповідати контролеру перегляду. Я встановив обмеження для автоматичного розміщення вгорі / знизу / провідний / простір для перегляду на 0 - див. Зображення нижче:

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


0

У моєму випадку виявилося, що у мене були деякі погляди, все ще пов'язані з контролером перегляду, який тепер був лише базовим контролером перегляду. Якщо я натискаю на клавішу перегляду, я можу побачити торгові точки з попередженнями, однак попередження не з’являлися в Xcode, тому у мене виникли проблеми з їх пошуком.


0

Це трапляється з проблемою кешування в XCode / iOS, але до цього є просте виправлення. Просто перейменуйте файл у Assets.xcassets, щоб кеш регенерувався.


0

Перша моя помилка полягала в тому, що я створив звичайну .storyboard, перейменував її та визначив як стартовий екран у налаштуваннях проекту. У мене в цьому випадку були проблеми із зображенням. Здається, що в цьому випадку деякі параметри відсутні, тож я просто створив новий файл через file-> new і безпосередньо вибрав "Запуск екрана", а потім він працював.

Також я мав на увазі, що обмеження розміщення чомусь не підтримуються на екрані запуску. Можливо, так було на початку, не впевнений, але зараз обмеження повинні спрацювати.

Можливо, це допомагає комусь.


0

Я зіткнувся з цим самим питанням, коли використовував запуск-раскадровку для показу екрана сплеску, і після дослідження я виявив, що зображення, яке я встановив на панелі розгортки, має різний розмір, і я встановив перегляд зображення більше, ніж фактичний розмір зображення.

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

Наприклад, якщо ваше зображення розміром @ 1x становить 200X200, ніж перегляд зображення має бути 200X200, ніж ви вирішите цю проблему.

Так як якщо ви встановите розмір перегляду зображення, більший за зображення, то зображення буде крохмалевим, і це заборонено.

Якщо у вас все ще виникають сумніви, будь ласка, прокоментуйте тут і запитайте

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.