Изображение при запуске iPad перевернуто (портрет) для приложения только в альбомной ориентации независимо от поворота

Разрабатываю универсальное приложение. Моя цель развертывания - 5.1. Я хочу, чтобы он работал только в портретной ориентации на iPhone / iPod и только в альбомной ориентации на iPad.

Я тестирую симуляторы iPhone и iPad, а также последние версии iPod touch и iPad.

На iPhone все работает нормально. Сначала появляется портретное изображение запуска, затем запускается приложение. Нет проблем. Он отлично работает на симуляторе, а также на моем iPod. Независимо от поворота приложение запускается и продолжает работать в портретном режиме (нижняя кнопка «Домой»), как и предполагалось.

Корректно работает в симуляторе iPad. Появляется альбомная заставка, затем приложение запускается в альбомной ориентации. Каким бы ни был поворот, изображение запуска и приложение запускаются и работают в альбомной ориентации, как и ожидалось.

Однако на моем iPad изображение запуска в портретной ориентации отображается перевернутым, независимо от того, в какую сторону повернуть iPad. Когда я удаляю файлы Default-Portrait ~ ipad.png и Default-Portrait@2x~ipad.png из моего проекта, XCode заменяет их на Default.png и [email protected], которые предназначены для iPhone, а не для iPad. , и которые также запускаются в перевернутом виде.

Мой InfoPlist включает следующие настройки: Исходная ориентация интерфейса: портретная (нижняя кнопка главного экрана) (нет клавиши для начальной ориентации интерфейса ~ ipad) Поддерживаемые ориентации интерфейса: портретная (нижняя кнопка главного экрана) Поддерживаемые ориентации интерфейса ~ ipad: альбомная ориентация (левая кнопка главного экрана) Пейзаж (правая кнопка "Домой")

Я попытался изменить исходную ориентацию интерфейса на альбомную и попытался полностью удалить этот ключ. Ни одно из изменений не повлияло на его ход.

Теперь я перепробовал все, что мог придумать, чтобы это сработало. У кого-нибудь есть решение?

Спасибо.


person user1442543    schedule 07.06.2012    source источник


Ответы (2)


Хорошо, я наконец решил проблему. Мне кажется, что это ошибка в XCode, но я должен был ее поймать.

Я поместил все свои файлы изображений в папку «Вспомогательные файлы». Это не было проблемой для моих музыкальных файлов или большинства файлов изображений. Однако когда дело дошло до моих файлов Default-Landscape ~ ipad.png и Default-Landscape @ 2x ~ ipad, XCode это не понравилось.

Я перетащил эти файлы в соответствующие поля на странице «Сводка», и они были приняты. Затем я переместил их из папки верхнего уровня в папку «Вспомогательные файлы» - точно так же, как я сделал с файлами Default.png и [email protected] для iPhone.

Когда я создал приложение, у меня не было ошибок. Когда я запустил приложение, предупреждений не было.

Однако ЗДЕСЬ Я ПОШЕЛ НЕПРАВИЛЬНО. Я не запускал приложение с Profiler до конца игры, и, очевидно, даже когда я это сделал, я, должно быть, проигнорировал два предупреждения. Наконец, я заметил их: Значок, указанный в Info.plist, не найден под оболочкой приложения верхнего уровня: Default-Landscape ~ ipad.png. У меня было такое же предупреждение для Default-Landscape@2x~ipad.png.

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

ЭТО ФИКСИРОВАННЫЙ.

Надеюсь, это поможет кому-то другому. ;)

person user1442543    schedule 08.06.2012

У меня была аналогичная проблема, и я смог решить эту проблему, изменив порядок поддерживаемых ориентаций в файле plist на [0]: LandscapeRight и [1]: LandscapeLeft.

person Pierre    schedule 10.07.2014
comment
Откройте свой файл Plist, и вам просто нужно перетащить альбомную ориентацию вправо, чтобы оказаться над альбомной ориентацией влево. это тоже было проблемой для меня (мое приложение поддерживает только ориентацию «Пейзаж вправо» и «Пейзаж влево», но необходимо, чтобы в файле PLIST наверху находился ландшафтный режим вправо) - person drpawelo; 20.04.2015