2

I have an issue that has prevented me from releasing two of my new apps so far. I created two new SwiftUI projects in Xcode 12 since WWDC20, both built with SwiftUI. By default these don’t include a LaunchScreen.storyboard, as you can now set the Launch Image in the info.plist. That was too fiddly and I didn’t like it, so I added a LaunchScreen.storyboard to my bundle, set it up, and set the Launch screen interface file base name value in my info.plist.

The launch screen looks and works great when testing on my devices and simulators. However, when trying to upload to App Store Connect, I get the following error:

ERROR ITMS-90476: "Invalid Bundle. Your app supports multitasking on iPad, so you must include the launch storyboard file, 'LaunchScreen.storyboard', in your bundle, 'com.companyname.appname.'"

I’ve searched online several times, but all the StackOverflow answers just say ‘Check the Requires Full Screen box on your target’ - completely unhelpful as I want to support multitasking, and as of April 2020 multitasking is required for iPad apps.

I've also set the Supported interface orientations (iPad) values in my info.plist for all orientations.

Surely I’m not the only person who has faced this issue recently?

podomunro
  • 495
  • 4
  • 16
  • If you go to your target's Build Phases section, do you see LaunchScreen.storyboard under Copy Bundle Resources? If it's there, can you also find it in the app bundle itself? – Phillip Mills Sep 23 '20 at 00:07
  • @PhillipMills Yes it's in the 'Copy Bundle Resources' phase. I looked inside the App Bundle that was installed on the simulator, and the file name is `LaunchScreen.storyboardc`, with the extra 'c' at the end. The Launch Screen file itself doesn't have that extra 'c'. – podomunro Sep 23 '20 at 00:17
  • 1
    The 'c' is added to show it's been through some "compile" stage and that should be OK. You said it works on the simulator, so I'd expect it to be there. I wonder if it's different with the upload version. – Phillip Mills Sep 23 '20 at 00:32

1 Answers1

4

I found the answer. The issue was that I was setting Launch screen interface file base name to LaunchScreen.storyboard. The solution was to remove the extension - I only had to provide LaunchScreen.

podomunro
  • 495
  • 4
  • 16