Black screen instead of launch image on iPad

Recently I faced same issue with my App designed only for iPhone , I had the problem where the launch images would not appear in iPad (On iPad ios >= 7.0.x the launch image is not showing up I get black screen while app is loading (in iPad ios < 7.0.x it works fine )).

I don't face this issue of launch image with iPhone worked fine in all iOS versions.

Solution: Is to update to asset catalog to manage your app's images and target only iOS 6 and Prior.

Steps :

Step 1:

Update to Asset Catalog

Step 2:

Select to Migrate

Step 3: on the top right corner click on the 'Attribute Inspector' icon. Here you can set the Target OS for the Launch Images.

Uncheck the iOS 7 check boxes for iPhone

Uncheck the iOS 7 check boxes for iPhone, Now you should be able to see the launch images for iPad on iOS >= 7.0.x.


If you have the same situation like mine, that's solution:

My app is landscape only, iOs7 only, ipad\iphone (XCode 5).

Problem: black launch on iphone (and simulator), normal launch in ipad.

Solution: go to Images.xcassets - Launch Images - select it. Uncheck at right all "iOs7 and later" boxes. Check "iOs6 and prior" boxes and fill empty spaces with images.

Strange, but works.


Per Apple's documentation (link); an empty iPad specific storyboard may be the answer. I've also seen issues where the initial view controller is not set within a storyboard causes a black screen. A variant of this issue might be an incorrect setting in the app plist.

Technical Q&A QA1780 Why does my app launch to a black screen on iPad?

Q: Why does my app launch to a black screen on iPad?

A: Apps that have been designed only for iPhone may launch to a blank screen when run on an iPad. This is caused by the presence of an empty iPad specific storyboard in the app bundle as well as an iPad specific UIMainStoryboardFile key in the app's Information Property List (Info.plist) file. Both are automatically created by the various Xcode template projects if the Universal option is selected.

...

In Xcode

Look for a file named MainStoryboard_iPad.storyboard in the file navigator. If this file is present, remove it from your project.

In your app's Information Property List

Look for a key named Main storyboard file base name (iPad) or UIMainStoryboardFile~ipad. If this key is present, remove it. You should also remove any other key suffixed with (iPad) or ~ipad.

Finally, test your app on an iPad or in the iPad simulator and verify that it behaves as expected.


I requested Apple support and it turned out that it's a bug. They asked me to report it and I did. Here is the report id : 15340531. Now it's up to them.


Using LaunchScreen.storyboard

I was having a similar problem until I found the following settings in the General Project Settings.

  1. Set your Main Interface to your main storyboard file. Mine is called Main.storyboard.

enter image description here

  1. Set your Launch Screen File to your launch screen storyboard file. Mine is called LaunchScreen.storyboard. (This is what I had originally ommited.)

enter image description here

After that the launch screen loaded first and then the main story board loaded shortly later.