367

I keep getting this error when I try to submit my app to the store using Xcode:

ERROR ITMS-90475: "Invalid Bundle. iPad Multitasking support requires launch storyboard in bundle 'com.companyname.appname.'"

Anyone know what this error really means?

matthias_b_nz
  • 3,815
  • 2
  • 15
  • 12

10 Answers10

723

This is because you need to specify how your app is supposed to handle multitasking on iPad.

If you don't want to handle multitasking right now, you can simply disable it by going to the "General" tab of your target:

enter image description here

André Rodrigues
  • 9,313
  • 4
  • 23
  • 25
  • Does this only apply if you are using Split View Controller on your iPad? I successfully uploaded last night to iTunes Connect, then this morning the error appeared when I made a very minor update. So I am guessing Apple just added in this check if your storyboard is using split view controller. – tkelly Sep 14 '15 at 15:05
  • @tkelly As far as I know, this apply to every iPad or universal app. – André Rodrigues Sep 14 '15 at 15:51
  • 4
    Is there any way to get this to work without checking the "Requires full screen" check box? – msimons Oct 01 '15 at 09:59
  • 5
    @msimons Yes: make your app compatible with iPad multitasking and there is no need to check the box. The "Requires full screen" check box is just to use in case your app can't handle multitasking at the moment. Anyway your app need to specify to the OS if it's compatible or not with multitasking, otherwise Apple doesn't let you to submit to the App Store. – André Rodrigues Oct 01 '15 at 12:40
  • 40
    Why didn't they make this the default and require developers to opt in to multi-tasking? The app submission process was already complicated enough! – Rupert Rawnsley Oct 05 '15 at 13:34
  • 8
    @RupertRawnsley Probably because they want that the developers make their apps compatible with multi-tasking by default. – André Rodrigues Oct 06 '15 at 11:42
  • 1
    My app DOES use multitasking and it does not make use of storyboards, the error states a "launch storyboard" is required. If I have to incorporate storyboards into my app at this 99th hour it will be a disaster. – Matthys Du Toit Jan 14 '16 at 13:02
  • @MatthysDuToit was it a disaster, or were you able to do it in that one hour you had left? – Dan Rosenstark Nov 06 '16 at 22:27
  • 1
    @DanRosenstark I was delayed, but it wasn't a disaster. I ended up side-stepping storyboards, being almost 3 years later I must admit I can't remember how. I'm still not fond of storyboards and I still avoid them where possible. – Matthys Du Toit Nov 13 '16 at 15:13
  • @MatthysDuToit while I was mostly joking -- it's very rarely a disaster, and usually a tiny glitch on the timeline which you don't even remember later -- you make good points about Storyboards. Personally, I feel torn between needing to know how to work with Storyboards and my dislike for anything that's not pure code. Personally I use them sparingly. – Dan Rosenstark Nov 13 '16 at 23:07
  • But there is no storyboard for SwiftUI app. – iaomw Sep 16 '20 at 20:28
  • @iaomw Yes there is a storyboard, called "LaunchScreen.storyboard" which is used when you launch the app. – André Rodrigues Sep 18 '20 at 20:14
41

I solved the problem in this way, see here:

If you must opt out of Slide Over and Split View, do so explicitly by adding the UIRequiresFullScreen key to your Xcode project’s Info.plist file and apply the Boolean value YES.

Adriaan
  • 17,741
  • 7
  • 42
  • 75
marji
  • 411
  • 4
  • 2
36

You need to add a Launch Screen (Xcode > File > New). Under iOS > User Interface you select "Launch Screen" to add it to the project.

For the iPad you need to support all 4 orientations.

Select in Xcode your target file, and under the General Tab, go to the "App icons and Launch Images". Here you select the Launch Screen file you created. When you launch the app you'll see the launch (bitmap) images are not used, but the Launch Screen Storyboard.

GeeJad
  • 361
  • 2
  • 2
  • 1
    This is the best answer. Note the complaint is that you need a launch *storyboard* - my app had a XIB file from some earlier version of XCode, but this is no good for iOS 9. – Bryan Sep 26 '15 at 16:48
  • This is the alternative 'fix', if you want to handle the multitasking. If you have a current project and just need it to go through setting the Requires Full Screen flag is the quick fix, but you should probably look into using storyboards. – Russ Oct 13 '15 at 16:03
  • Best one! I update my old project and this is exactly what I need. – LE SANG Jan 05 '16 at 09:47
  • 1
    Not sure why, but this doesn't work for me. I have a storyboard added it and my app does support all orientations. It works well on my iPad but I get the same error when I submit the app – Sebastian Rieger Sep 26 '22 at 11:06
30

You can either do it as André showed or directly add:

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

On your .plist file.

9

In Xcode 14.2, setting the launch storyboard should be as simple as selecting the required storyboard as Launch Screen File in the "General" settings for the target. This not only avoids spelling mistakes, it also ensures that the storyboard is included in the bundle. However, I found that uploading to the App Store failed as per the OP if support for multiple windows is included (that is, if requires full screen is not checked).

If the storyboard has been configured in this way then the problem may be because the name of the storyboard includes a .storyboard extension, which it's not supposed to (see also post by Muhammad Ibrahim). This can be fixed without checking the box for requires full screen:

  • In Xcode, go to your build target and select the General tab.
  • In the section "App Icons and Launch Screen", check if a Storyboard file is selected and if it has a .storyboard extension.
  • If so -> tap the name of the storyboard to edit it, take off the .storyboard extension and press return.
  • That's it! The name of the storyboard will no longer show, but the problem will be fixed.
Benzy Neez
  • 1,546
  • 2
  • 3
  • 10
  • Just because you got the same error doesn't mean the OP's problem is the same as yours was. It might be that the OP has a spelling error in the storyboard name, or the storyboard might be specified correctly but not actually exist in the bundle. – Caleb Dec 14 '22 at 21:30
  • Thanks Caleb for your feedback. Post edited to describe the circumstances better. – Benzy Neez Dec 16 '22 at 08:19
8

If you are using Cordova, you might want to use the cordova-ios-requires-fullscreen plugin (see How to disable iOS9 multitasking through Ionic/Cordova?)

Update: you can also use the cordova-plugin-ipad-multitasking, which seems to also prevent another issue (ITMS-90474)

Update: this should now be fixed using Cordova tools 5.4 without the need for these plugins.

Gyum Fox
  • 3,287
  • 2
  • 41
  • 71
8

If you want to support split views in iPad, in your info.plist file, set just "LaunchScreen" as the value for key "UILaunchStoryboardName", instead of "LaunchScreen.Storyboard" and you need to support all 4 orientations for iPad.

Muhammad Ibrahim
  • 1,923
  • 2
  • 15
  • 13
6

I wanted to allow split screen, and I already had a launch screen storyboard. Ends up I needed to remove the ".storyboard" from my plist. See UILaunchStoryboardName.

Go to Targets > Info > "Launch screen interface file base name" and change it to LaunchScreen.

The text that needs to be fixed

bendytree
  • 13,095
  • 11
  • 75
  • 91
2

IF you ONLY want to set RequiresFullScreen For iPhone, and support iPad Multitasking, try this:

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

enter image description here

LaunchScreenIPad.storyboard is the name of LaunchScreen for iPad.

iPhone will still use Launch Images Source pictures.

Apple Document Ref: Creating Platform- and Device-Specific Keys

hstdt
  • 5,652
  • 2
  • 34
  • 34
  • this one works!!! if you set ' Requires full screen', you iPad will not supports multitasking(spliting screen). – evevF May 19 '22 at 07:16
0

If you use Blazor MAUI you need to add UILaunchStoryboardName entry into info.plist file:

<key>UILaunchStoryboardName</key>
<string>MauiSplash</string>
Animusz_
  • 71
  • 1
  • 6