Invalid Bundle Error - «требуется раскадровка запуска»

336

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

ОШИБКА ITMS-90475: «Invalid Bundle. Поддержка многозадачности iPad требует запуска раскадровки в комплекте com.companyname.appname».

Кто-нибудь знает, что на самом деле означает эта ошибка?

matthias_b_nz
источник
Обратите внимание, что я только что обновил Xcode 7 GM сегодня и уже отправил приложение в магазин.
matthias_b_nz
1
Поэтому я использовал Xcode 7 GM при отправке.
matthias_b_nz
1
Вы поняли это?
andygeers
44
Нет, я пошел спать.
matthias_b_nz

Ответы:

677

Это потому, что вам нужно указать, как ваше приложение должно обрабатывать многозадачность на iPad.

Если вы не хотите обрабатывать многозадачность прямо сейчас, вы можете просто отключить ее, перейдя на вкладку «Общие» вашей цели:

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

Андре Родригес
источник
3
Есть ли способ заставить это работать, не устанавливая флажок «Требуется полный экран»?
Миссимон
5
@msimons Да: сделайте ваше приложение совместимым с многозадачностью iPad, и вам не нужно будет ставить флажок. Флажок «Требуется полный экран» используется только в том случае, если ваше приложение не поддерживает многозадачность в данный момент. В любом случае, ваше приложение должно указывать операционной системе, совместимо ли оно с многозадачностью или нет, в противном случае Apple не разрешит вам отправляться в App Store.
Андре Родригес
35
Почему они не сделали это по умолчанию и не требовали, чтобы разработчики включили многозадачность? Процесс отправки приложения был уже достаточно сложным!
Руперт Роунсли
8
@RupertRawnsley Вероятно, потому что они хотят, чтобы разработчики сделали свои приложения совместимыми с многозадачностью по умолчанию.
Андре Родригес
1
Мое приложение использует многозадачность, и оно не использует раскадровки, ошибка гласит, что требуется "запуск раскадровки". Если в этот 99-й час мне нужно будет включить раскадровки в мое приложение, это будет катастрофой.
Matthys Du Toit
39

Я решил проблему таким образом, смотрите здесь :

Если вам необходимо отказаться от Slide Over и Split View, сделайте это явно, добавив ключ UIRequiresFullScreen в файл Info.plist вашего проекта Xcode и примените логическое значение YES.

marji
источник
31

Вам нужно добавить экран запуска (Xcode> File> New). Под iOS> Пользовательский интерфейс вы выбираете «Launch Screen», чтобы добавить его в проект.

Для iPad вам нужно поддерживать все 4 ориентации.

Выберите в Xcode свой целевой файл и на вкладке «Общие» перейдите в «Значки приложений и запуск изображений». Здесь вы выбираете файл Launch Screen, который вы создали. Когда вы запустите приложение, вы увидите, что изображения запуска (растровые) не используются, но раскадровка экрана запуска.

GeeJad
источник
1
Это лучший ответ. Обратите внимание, что жалоба заключается в том, что вам нужна раскадровка для запуска - в моем приложении был файл XIB какой-то более ранней версии XCode, но это не годится для iOS 9.
Брайан,
Это альтернативное исправление, если вы хотите обрабатывать многозадачность. Если у вас есть текущий проект, и вам просто нужно пройти его, установите флаг Требуется полноэкранный режим, это быстрое решение, но вам, вероятно, стоит изучить использование раскадровок.
Расс
Лучший! Я обновляю свой старый проект, и это именно то, что мне нужно.
LE SANG
27

Вы можете сделать это так, как показал Андре, или сразу добавить:

<key>UIRequiresFullScreen</key>
<true/>

В вашем .plist файле.

Франциско Кавиано
источник
1
Начиная с Xcode 7.2, вкладка «Общие» исчезла, и теперь кажется, что это путь.
Peege151
3
Какой? Нет, это не так. Вкладка General не исчезла в Xcode 7.2.
Mbeaty
15

Вы можете найти флажок "Требуется полный экран" в разделе Общие> Цели

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

Динеш Vaitage
источник
8

Если вы используете Cordova, вы можете использовать плагин cordova-ios-require-fullscreen (см. Как отключить многозадачность iOS9 через Ionic / Cordova ?)

Обновление : вы также можете использовать cordova-plugin-ipad-multitasking , что, по-видимому, также предотвращает другую проблему (ITMS-90474)

Обновление : теперь это должно быть исправлено с помощью инструментов Cordova 5.4 без необходимости использования этих плагинов.

Гюм Фокс
источник
Выпуск еще есть на кордове 6.5.0
Мирко
6

От Xcode 8.x. Пожалуйста, проверьте представление GIF.

GIF

Рамкришна Шарма
источник
0

Если вы хотите установить ТОЛЬКО для iPhone и поддерживать многозадачность iPad, попробуйте следующее:

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIPad.storyboard</string>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIRequiresFullScreen~ipad</key>
<false/>

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

LaunchScreenIPad.storyboard это название LaunchScreen для iPad.

iPhone все еще будет использовать Launch Images Sourceкартинки.

Ссылка на документ Apple: создание ключей для платформы и устройства

hstdt
источник