351

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,655
  • 2
  • 13
  • 12

9 Answers9

694

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
  • 8,993
  • 4
  • 24
  • 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
  • 3
    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
  • 36
    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
40

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,081
  • 7
  • 36
  • 71
marji
  • 401
  • 4
  • 2
34

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
  • 341
  • 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
30

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

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

On your .plist file.

16

You can find "Requires full screen" checkbox under General > Targets

enter image description here

Dinesh Vaitage
  • 2,733
  • 16
  • 15
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
  • 2,614
  • 2
  • 38
  • 68
6

From Xcode 8.x. Please check the GIF representation.

GIF

Ramkrishna Sharma
  • 6,715
  • 2
  • 37
  • 50
1

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
  • 4,881
  • 1
  • 29
  • 33
  • this one works!!! if you set ' Requires full screen', you iPad will not supports multitasking(spliting screen). – evevF May 19 '22 at 07:16
1

Ooohhh This can work 100% Just Go On TARGETS (your App), General, Status Bar Style then Check Requires full screenSee scr shot

Ramasie
  • 21
  • 1