iPhone X: неверная ориентация экрана запуска
Я тестирую экраны запуска изображений на iPhone X и столкнулся со странным поведением. Поэтому я хотел бы попросить некоторые отзывы, прежде чем открывать радар:
Я создал портретный и альбомный стартовый экран с размерами 1125 x 2436 Pixel
(портрет) и 2436 x 1125 Pixel
(пейзаж). Затем я добавляю их в каталог активов, и они правильно подобраны:
Все идет нормально. Затем я запускаю приложение на iPhone X Simulator (я сбрасывал приложение раньше, чтобы ничего не кэшировалось), и показывается (растянутое) ландшафтное изображение.
Я проверил источники png на наличие действительного не альфа-фона и все еще не могу показать правильный стартовый экран. Я заметил, что портретное изображение даже не копируется в полученный продукт:
Так что это может указывать на проблему с Xcode 9. Любые отзывы приветствуются, спасибо, ребята!
РЕДАКТИРОВАТЬ: Примечание: при удалении изображения ландшафта из каталога ресурсов, портретное изображение копируется и подбирается правильно.
ОБНОВЛЕНИЕ 29.09.2017: Apple подтвердила, что это действительно проблема в XCode, и она будет передана соответствующей инженерной команде.
4 ответа
Для iPhone X попробуйте использовать раскадровку экрана запуска вместо изображений запуска.
Это упоминается в новом видео "Создание приложений для iPhone X" на сайте разработчиков Apple: https://developer.apple.com/videos/play/fall2017/201/
(Это упоминается на отметке 2:50.)
Чтобы установить раскадровку экрана запуска, создайте файл раскадровки и выберите его в раскрывающемся списке "Файл экрана запуска" в настройках своего проекта.
Использование только портретного изображения (а не пейзажного), кажется, работает, по крайней мере, на симуляторе. Во всяком случае, iPhone X может запускать приложения только из портрета. Не знаю, будет ли это решение создавать проблемы на реальном устройстве (iPhone X еще не был доступен на момент написания этой статьи). Я думаю, это не так.
Это явно ошибка xCode 9, у меня та же проблема, также имя файла ресурса неверно, в соответствии с предыдущим соглашением об именах должно быть 2 файла, LaunchImage-1100-Portrait-2436h@3x.png и LaunchImage-1100-Landscape-2436h@3x.png (обратите внимание, почему 2436h, а не 812h, все остальные разрешения выражаются в точке, а не в пикселях)