Nieprawidłowy błąd pakietu - „wymaga uruchomienia scenorysu”


336

Ten błąd pojawia się, gdy próbuję przesłać moją aplikację do sklepu za pomocą Xcode:

BŁĄD ITMS-90475: „Nieprawidłowy pakiet. Obsługa wielozadaniowości iPada wymaga uruchomienia scenorysu w pakiecie„ nazwa.firmy.nazwa_aplikacji ”.”

Czy ktoś wie, co tak naprawdę oznacza ten błąd?


Uwaga: właśnie zaktualizowałem dzisiaj Xcode 7 GM i już przesłałem aplikację do sklepu.
matthias_b_nz

1
Podczas przesyłania użyłem Xcode 7 GM.
matthias_b_nz

1
Rozgryzłeś to?
andygeers

44
Nie, poszedłem spać.
matthias_b_nz

Odpowiedzi:


677

Jest tak, ponieważ musisz określić, w jaki sposób aplikacja ma obsługiwać wielozadaniowość na iPadzie.

Jeśli nie chcesz teraz obsługiwać wielozadaniowości, możesz po prostu ją wyłączyć, przechodząc do zakładki „Ogólne” swojego celu:

enter image description here


3
Czy istnieje sposób, aby to zadziałało bez zaznaczenia pola wyboru „Wymaga pełnego ekranu”?
msimons,

5
@msimons Tak: dostosuj aplikację do wielozadaniowości iPada i nie trzeba zaznaczać tego pola. Pole wyboru „Wymaga pełnego ekranu” służy tylko w przypadku, gdy aplikacja nie obsługuje obecnie wielozadaniowości. W każdym razie Twoja aplikacja musi określić w systemie operacyjnym, czy jest kompatybilna z wielozadaniowością, czy nie, w przeciwnym razie Apple nie pozwoli Ci przesyłać do App Store.
André Rodrigues

34
Dlaczego nie ustawili tego jako domyślnego i nie wymagają od programistów włączenia wielozadaniowości? Proces przesyłania aplikacji był już wystarczająco skomplikowany!
Rupert Rawnsley,

8
@RupertRawnsley Prawdopodobnie dlatego, że chcą, aby programiści domyślnie dostosowali swoje aplikacje do wielozadaniowości.
André Rodrigues,

1
Moja aplikacja WYKORZYSTUJE wielozadaniowość i nie korzysta ze scenariuszy, błąd mówi, że wymagana jest „uruchomienie scenorysu”. Jeśli będę musiał włączyć storyboardy do mojej aplikacji o tej 99 godzinie, będzie to katastrofa.
Matthys Du Toit

39

Rozwiązałem problem w ten sposób, patrz tutaj :

Jeśli musisz zrezygnować z opcji Slide Over i Split View, zrób to jawnie, dodając klucz UIRequiresFullScreen do pliku Info.plist projektu Xcode i zastosuj wartość logiczną TAK.


31

Musisz dodać ekran uruchamiania (Xcode> Plik> Nowy). W iOS> Interfejs użytkownika wybierasz „Ekran uruchamiania”, aby dodać go do projektu.

W przypadku iPada musisz obsługiwać wszystkie 4 orientacje.

Wybierz w Xcode plik docelowy, a na karcie Ogólne przejdź do „Ikon aplikacji i uruchamiania obrazów”. Tutaj wybierz utworzony plik ekranu uruchamiania. Po uruchomieniu aplikacji zobaczysz, że obrazy uruchamiania (bitmapy) nie są używane, ale Storyboard ekranu uruchamiania.


1
To najlepsza odpowiedź. Uwaga: skarga polega na tym, że potrzebujesz scenariusza uruchamiania - moja aplikacja miała plik XIB z wcześniejszej wersji XCode, ale nie jest to dobre dla iOS 9.
Bryan

Jest to alternatywna „poprawka”, jeśli chcesz obsłużyć wielozadaniowość. Jeśli masz bieżący projekt i potrzebujesz go tylko, aby przejść przez ustawienie flagi Wymaga pełnego ekranu jest szybką poprawką, ale prawdopodobnie powinieneś rozważyć użycie scenorysów.
Russ

Najlepszy! Aktualizuję mój stary projekt i właśnie tego potrzebuję.
LE SANG

27

Możesz to zrobić, jak pokazał André, lub bezpośrednio dodać:

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

W pliku .plist.


1
Od Xcode 7.2 nie ma zakładki ogólnej i wydaje się, że jest to właściwy sposób.
Peege151,

3
Co? Nie, nie jest. Karta Ogólne nie zniknęła w Xcode 7.2.
mbeaty 21.01.16


8

Jeśli używasz Cordova, możesz chcieć użyć wtyczki Cordova -ios-wymaga-pełnego ekranu (zobacz Jak wyłączyć wielozadaniowość iOS9 przez Ionic / Cordova ?)

Aktualizacja : możesz także użyć wielozadaniowości cordova-plugin-ipad-ipad , co wydaje się również zapobiegać kolejnemu problemowi (ITMS-90474)

Aktualizacja : należy to teraz naprawić za pomocą narzędzi Cordova 5.4 bez potrzeby korzystania z tych wtyczek.


Problem nadal występuje na Cordova 6.5.0
Mirko


0

JEŚLI chcesz TYLKO ustawić Wymagany ekran dla iPhone'a i obsługiwać wielozadaniowość iPada, spróbuj tego:

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

wprowadź opis zdjęcia tutaj

LaunchScreenIPad.storyboard to nazwa LaunchScreen na iPada.

iPhone nadal będzie korzystał Launch Images Source zdjęć.

Dokument Apple: Tworzenie kluczy specyficznych dla platformy i urządzenia

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.