Бета-попередження Xcode 7: Орієнтації інтерфейсу та запуск розгортки


131

Я відкрив свій проект у бета-версії Xcode 7, і отримую такі попередження, яких я не отримую в Xcode 6:

 All interface orientations must be supported unless the app requires
 full screen.


 A launch storyboard or xib must be provided unless the app requires
 full screen.

У додатку використовується портретна орієнтація лише для пристроїв, і я встановив це так. У мене також є розклади для інтерфейсів iphone та ipad. Я не можу визначити, чому я отримую ці попередження. Це бета-помилка Xcode 7?


звучить як помилка. Перегляньте форуми Apple Dev. Радості бути бета-тестером: p
Сем Б

Відповіді:


274

Це попередження є новим для iOS 9, оскільки він підтримує зміну додатків із підтримкою декількох вікон. Раніше додатки будуть автоматично масштабуватись на нових пристроях, які мають різні роздільні здатності апаратного відображення, ніж ті, які є в стартовому зображенні (в основному, як iOS визначає підтримувані роздільні можливості інтерфейсу). Тепер програми, які підтримують багато віконця, повинні визначати роздільну здатність, яку вони підтримують, включаючи зображення запуску або дошку для всіх типів екрану пристрою.

Якщо ви не перезаписуєте додаток для підтримки декількох вікон, вам буде потрібно "Повний екран". Це натяк на iOS, що ви не підтримуєте багато вікон, і в основному змушує iOS 9 працювати, як і попередні версії в цьому плані.

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

Це, звичайно, не помилка. Якщо це попередження є, у вашої програми можуть виникнути проблеми під час надсилання. Не впевнений у цьому, оскільки я ще не подав додаток із iOS 9 GM Seed, але я обов'язково поставлю галочку :-)


4
Ця відповідь набагато краща за провідну. Дякуємо, що пояснили "чому" цієї зміни та "що" на всім екрані. (Я уявив, що це та сама настройка, яку використовували ігри, щоб позбутися заголовка, але, здається, це не так.)
natevw

@natevw, але не настільки лаконічний, як той, який каже вам "просто перевірити всі чортові коробки". Ця відповідь наштовхнула мене на думку, що мені потрібно купу нових зображень екрана запуску, щоб зняти попередження ...
dcow

1
@dcow - Ну, ти це неправильно читав. Я чітко заявив, що потрібно лише додати зображення запуску АБО позначте поле Потрібно на весь екран. На ці речі рідко є проста відповідь ... Це залежить від того, чого ви хочете досягти.
Саймон Тілсон

1
@SimonTillson ти неправильно прочитав мій коментар і чітко не подивився на відповідь нижче. Я не кажу про необхідну повноекранну скриньку. Фактичне виправлення полягає в підтримці всіх орієнтацій. Для цього не потрібно додавати зображення запуску. Це просто означає переконатися, що всі поля встановлені під орієнтацією пристрою в загальних налаштуваннях проекту. Можливо, ви маєте на увазі, що висловлюючи виправлення, це "включаючи зображення запуску або дошку для всіх типів екрану пристроїв" , але, як я вже сказав, не настільки стислий, як відповідь, яка прямо говорить вам.
привіт

@dcow В ОП було вирішено питання про попередження, воно не запитувало про те, як підтримувати багато вікон. Оскільки багатовіконне вікно працює належним чином лише в оригінальній роздільній здатності, ви маєте рацію, що запуск зображень слід завантажувати для всіх типів екрану пристрою, а всі орієнтири, що використовуються, повинні бути відмічені. Я все ще не розумію, якою була ваша оригінальна проблема з моєю відповіддю, оскільки більшість користувачів просто хотіли дізнатися значення Потрібен на весь екран та / або як позбутися попередження.
Саймон Тілсон

62

Просто перейдіть до своєї цілі, натисніть на вкладку "Загальні", знайдіть розділ "Інформація про розгортання", поставте галочку "Потрібен на весь екран". :)

Це так просто, правда?

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


15
Це, безумовно, не рішення, просто напівфабрикат. З повагою я не згоден з вашою відповіддю.
kbpontius

Іншим рішенням є перевірка всіх «орієнтацій на пристрої» в тому самому місці та надання файлу xib або аркуша замість файлу зображення. Іноді ми маємо зробити вибір: встановити прапорець "Потрібен повний екран" або все в "Орієнтація на пристрій". Тому що нас просять зробити це за допомогою Xcode. :)
YangXiaoyu

6
@kpont Що саме ви очікуєте як рішення? Чарівне прищеплення пальця, щоб зняти попередження? Xcode 7 має додаткові необхідні метадані, і ви повинні їх надати. Якщо ви вважаєте, що це помилка, ви відкрили звіт про помилки з Apple?
Лев Натан

6
Вирішення цього рішення є дійсним у контексті "мого додатка вчора створено та працює нормально, але сьогодні Xcode кидає попередження". Очевидно, що Apple хотіла б, щоб кожен розробник оновлював кожну програму, яка працюватиме з увімкненою функцією. Однак, "тут, у реальному світі", іноді нам просто потрібно натиснути виправлення помилок або наступне побудова якогось типу, а також пізніше розібратися з постійно мінливим Apple-пейзажем. Вирішення питання дійсне. Аналогічно, концепція додавання xibs / раскадров для підтримки орієнтацій є дійсною. Так!
Olie

4
"Напівфабрикат", для якого Apple додала прапорець у розділі Загальні параметри ...
Rivera

15

Це тому, що Apple додала можливість багатозадачності в iOS 9. Все, що вам потрібно сказати Xcode, - це те, що для вашої програми потрібен повний екран.

Додайте ключ UIRequiresFullScreen у файл Info.plist вашого проекту Xcode та застосуйте булеве значення ТАК.

Щоб прочитати більше про це взагалі.
https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/index.html


11

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

Найкращий спосіб, який я перевірив на хорошу підтримку декількох вікон, - це використовувати змінні тренажери, або, на мій погляд, використовувати iPad Pro в XCode 7.1 і фактично активувати функцію багато вікон шляхом перетягування праворуч. Після виконання цих дій я моє додаток підтримує ці функції, і я можу швидко зрозуміти, що мені потрібно оновити або оптимізувати, щоб повністю їх підтримувати.


"Найкращий спосіб, який я перевірив на хорошу підтримку декількох вікон, - це використовувати змінні тренажери, а краще IMO, використовувати iPad Pro в XCode 7.1 і фактично активувати функцію багато вікон шляхом перетягування праворуч." Це досить буквально відповідь, у розмовному тоні. Ви могли уточнити у своєму коментарі перед тим, як проголосувати.
d2burke

Добре, я пропустив розмовний стиль. Я прошу вибачення. Але ви, можливо, захочете його переписати - я пропустив це вперше, і я носій мови.
Абізерн

Я розумію :) Дякую за чуйність. Я зараз його оновлю.
d2burke

2
ЦЕ є актуальною відповіддю на це питання. Дякую!
Авіель Гросс

догори дном для мене не було перевірено. ввімкнувши це, зніме попередження. Я також думаю, що це правильна відповідь
neelabh

8

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

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


3

«Очистіть папку збірки» та створіть заново

Я отримав All interface orientations must be supported unless the app requires full screen.повідомлення сьогодні в Xcode 7.3.1, мабуть, без причини, жодних змін, які я вніс.

  • У мене єLaunchScreen.storyboard
  • Я не перевіряв Requires full screen.

Я спробував звичайний маневр, коли Xcode залишає мене спантеличеним з приводу якоїсь нової-помилки-не-доброї причини:

  1. Утримуючи клавішу Option , натискаючи Productменю.
  2. Виберіть Clean Build Folder( не Clean ).
  3. Виберіть Product> Build.

Більше немає проблем. Після ще декількох сеансів збирання та запуску повідомлення про помилку ще не з’являється.


0

Ви надали "Запуск розгортки" для свого додатка? Або ви тільки що надали статичні зображення різних розмірів.

Перевірте тут: https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html


Я використовую зображення запуску, а не запуск розгортки. Я вважав, що запуск розгортки необов’язковий Напевно, настійно рекомендується не використовувати стартовий образ у Xcode 7, а тому попередження? Теперішня версія додатку вже затверджена Apple, я думаю, я включу в наступну версію стартову рекламну дошку, і тоді Xcode 7 вже буде випущений для широкого загалу. Дякую
bachma0507

У мене така ж проблема, тому просто для підтвердження @cbiggin - для позбавлення від цієї помилки вам потрібно мати панель розгортки?
amitsbajaj

Не можу підтвердити це, саме те, що я вважаю, може спричинити проблему. Спробуйте додати панель розгортки і побачити, чи вона пройде. Якщо це так, тоді голосуйте за мою відповідь :)
cbiggin

1
майте на увазі, що ви можете використовувати лише розгорнуту сторінку розкадровки для ios> = 8
troppoli

0

Встановіть для UIRequiresFullScreen значення ТАК у Info.plist. І поставити галочку Потрібно на весь екран .введіть тут опис зображення

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