Поддержка iPhone 6 и iPhone 6+ с различным изображением запуска/заставки для iPad Портрет и ориентация на ландшафт

То, что я понял из доступной документации, и мое тестирование - это то, что

  • Все существующие приложения на iPhone 6 и 6 Plus работают в режиме совместимости, что означает, что API (например, [UIScreen mainScreen].bounds) вернуть 320x568 (iPhone 5/5s) все еще в новых iPhone (6/6 Plus) и весь пользовательский интерфейс масштабируется до правильного разрешения iOS.

  • Для поддержки iPhone 6/6Plus нам нужно создать xib для запуска экрана (File- > New- > File- > UserInterace- > Launch Screen) и установите файл nib как "Файл экрана запуска".

  • Мы можем установить различные изображения для экрана запуска в файле "Запуск экрана nib" на основе по классам с произвольным размером. [В основном сочетания Любые, регулярные и компактный]

  • Нельзя различать iPad в портрете и iPad в Ландшафтной ориентации (оба имеют регулярную ширину регулярной высоты). Также нет возможности различать iPhone 4/4 и iPhone 5/с.

Есть ли способ поддерживать режим iPhone 6/6 Plus, а также предоставлять различные изображения запуска для iPad в портретном и iPad в альбомной ориентации?

См. также аналогичную проблему здесь классы размера iOS 8 для ландшафта iPad

Ответ 1

Вам не нужно использовать файл экрана запуска, чтобы обеспечить совместимость вашего приложения с iPhone 6/6+. Вместо этого вы можете выбрать активацию LaunchImage в качестве источника изображений запуска.

Его можно найти в "Иконках приложений и запусках изображений" под вашими целевыми значениями:

enter image description here

Если ресурс LaunchImage отсутствует, просто перейдите на свои Images.xcassets, сделайте вторичный щелчок (щелкните правой кнопкой мыши) и выберите "Новое изображение запуска":

enter image description here

Результат выглядит примерно так:

enter image description here

Теперь просто перетащите изображения для определенных разрешений, которые вы хотите поддержать, и установите в качестве источника созданный ресурс LaunchImage.

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

Приветствия

Ответ 2

Каталоги данных в настоящее время работают в ландшафтном режиме на iPhone на ios8. Я получил ответ от поддержки Apple:

"Существует ошибка, включающая изображения запуска в каталогах и приложениях что запуск в ландшафте на iPhone. За кулисами актив каталог компилятор генерирует один и тот же ключ UILaunchImages [1] в окончательный Info.plist, который вы бы добавили, когда указывали запускать изображения вручную. Один из под-ключей для каждого изображения запуска указанный под ключом UILaunchImages, является UILaunchImageOrientation который всегда задается портретом с помощью компилятора каталога ресурсов. Эта имеет смысл, потому что приложения на iPhone всегда запускаются в портрете ориентации [2]. Тем не менее, программа запуска приложений iOS решает, что ваша UISupportedInterfaceOrientations содержит только UIInterfaceOrientationLandscapeLeft и UIInterfaceOrientationLandscapeRight, он будет искать только пейзаж запускать изображения под ключом UILaunchImages, которого он не находит.

Поскольку нет способа заставить компилятор каталога активов указать Landscape для подкатегории UILaunchImageOrientation для iPhone запускайте изображения, вы должны продолжать указывать свои изображения запуска редактирование списка свойств информации для вашего приложения, как и раньше.