Что не так с моим каталогом ресурсов, содержащим изображения запуска?

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

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

Мое приложение не поддерживает iPad или 3,5-дюймовые iPhone, поэтому их должно быть достаточно. Это нормально или мне тоже нужен пейзаж?

Вот свойства каждого из изображений:

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

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

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

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

Вот та же информация в текстовом виде:

      filename: LaunchImage.launchimage
      children:                     
                filename: 5.5.png
                idiom: iphone
                subtype: 736h
                scale: 3x
                orientation: portrait
                extent: full-screen
                minimum-system-version: 8.0
                image: 
                       height: 2208
                       width: 1242

                filename: 4.7.png
                idiom: iphone
                subtype: 667h
                scale: 2x
                orientation: portrait
                extent: full-screen
                minimum-system-version: 8.0
                image: 
                       height: 1334
                       width: 750

                filename: 3.5-inch, 2x-1.png
                idiom: iphone
                scale: 2x
                orientation: portrait
                extent: full-screen
                minimum-system-version: 7.0
                image: 
                       height: 960
                       width: 640

                filename: 4.png
                idiom: iphone
                subtype: retina4
                scale: 2x
                orientation: portrait
                extent: full-screen
                minimum-system-version: 7.0
                image: 
                       height: 1136
                       width: 640

Вот как настроено мое приложение:

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

Когда я запускаю приложение на iPhone 7 Plus, я вижу 4,7-дюймовое стартовое изображение. Почему это происходит и как это исправить?

Я пытался использовать простые файлы PNG, не помещая их в каталог активов, но это тоже не работает, как описано в это отдельный вопрос.


Обратите внимание, что в отличие от других вопросов об этом:

  • Я не использую xibs или раскадровки по причинам, которые отвлекали бы внимание.

  • Я использую файлы PNG, завернутые в каталог активов, а не простые файлы PNG в каталоге верхнего уровня.

  • Я поддерживаю только iOS 10 и выше, что означает, что я не поддерживаю 3,5-дюймовые телефоны.

  • Я не поддерживаю iPad.

  • Я использую Xcode 8.3 и iOS 10.3 на своем телефоне.


person Kartick Vaddadi    schedule 02.04.2017    source источник
comment
Зачем использовать изображения запуска вместо раскадровки экрана запуска?   -  person rmaddy    schedule 02.04.2017
comment
Я хочу запускать только портретные изображения. Возможно ли это с раскадровкой? Другая причина заключается в том, что мой пользовательский интерфейс полностью построен программно, поэтому потребуется много усилий, чтобы точно воспроизвести его в Interface Builder, но без всякой пользы. Проще сделать три снимка экрана, по одному для каждого размера экрана iPhone с iOS 10.   -  person Kartick Vaddadi    schedule 03.04.2017
comment
Вам нужна только одна раскадровка с меткой, ползунком и кнопкой. Я делаю все свои приложения исключительно в коде, но использую раскадровку экрана запуска, чтобы упростить поддержку всех устройств и размеров. И ваша раскадровка экрана запуска или изображения запуска не имеют ничего общего с тем, является ли ваше приложение только портретным или нет. Это отдельная настройка.   -  person rmaddy    schedule 03.04.2017
comment
Мое приложение поддерживает все три ориентации, но я хочу, чтобы раскадровка запуска отображалась только в портретной ориентации. Это возможно? С изображениями запуска это так — просто добавьте одно для портрета, а не для пейзажа.   -  person Kartick Vaddadi    schedule 03.04.2017
comment
Экран запуска/раскадровка должны быть упрощенной версией основного экрана вашего приложения. Если этот экран приложения поддерживает альбомную ориентацию, то нет причин иметь экран запуска/раскадровку только для портретной ориентации. Попробуй. Вы можете создать быстрый фиктивный экран запуска и настроить свое приложение для его использования. Посмотрите, что происходит на реальном устройстве при запуске. Если вам это не нравится, удалите его и снова измените приложение на использование изображений запуска. 5 минут работы.   -  person rmaddy    schedule 03.04.2017
comment
comment
Чтобы обсуждение было сфокусированным, пожалуйста, ответьте на заданный вопрос — могу ли я запустить раскадровку, которая отображается только в портретной ориентации, в то время как приложение поддерживает несколько ориентаций? Я могу сделать это с помощью изображений запуска. Могу ли я сделать это с раскадровкой запуска?   -  person Kartick Vaddadi    schedule 03.04.2017
comment
У меня была аналогичная проблема, и я решил ее, добавив изображение запуска для каждого разрешения. Я имею в виду одно и то же изображение с разными размерами. Возможно, это может помочь вам   -  person Rodrigo de Santiago    schedule 07.04.2017
comment
Проверьте это stackoverflow.com/a/49802421/5790492.   -  person Nik Kov    schedule 12.04.2018


Ответы (2)


Недавно у меня была проблема, очень похожая на эту, когда мои 4,7-дюймовые iPhone не смогли загрузить изображение запуска 667h и вернулись к размеру, который он мог, 538h. Поскольку iOS использует наличие статических изображений запуска как одно из своих определений. для того, в каком разрешении отображать приложение, приложение в конечном итоге вышло с увеличенным разрешением.

Не похоже, что вы столкнулись с последним последствием, но я могу поделиться своим решением: переоцените цветовое пространство, которое вы использовали для экспорта этих изображений, и попробуйте экспортировать их снова. Я не смог определить точную причину, по которой изображения были проблемой для платформы, но реэкспорт и очистка помогли. В дополнение к цветовому пространству, возможно, вы использовали опцию «Сохранить для Интернета»? Я также обнаружил, что это повлияло на нас.

person metc500    schedule 11.04.2017
comment
Я хочу, чтобы iPhone 7 и 7 Plus в идеале использовали изображения запуска P3. В противном случае цвета будут смещаться, когда изображение запуска заменяется приложением. Я не использовал сохранение для веба. Мои изображения запуска — это скриншоты с устройства, поэтому нелогично, что iOS не может использовать изображения запуска, сделанные на iOS, но в следующий раз я попытаюсь повторно экспортировать. - person Kartick Vaddadi; 11.04.2017

Вы пытались очистить проект и папку сборки, удалить производные данные, удалить приложение с устройства и перезапустить Xcode?

Может показаться глупым предложением, но в прошлом это исправило для меня так много вещей.

person Matthew Hallatt    schedule 11.04.2017
comment
Я попробовал все вышеперечисленное, но перезапустил Xcode. Я попробую это в следующий раз. Спасибо за предложение - person Kartick Vaddadi; 11.04.2017