60
votes

My apps' splash screens are all plain black after upgrading to iOS9.

Does anybody know why this is? Some of them are using a .xib splash screen and some are using images, but they're all just black now. Does an app have to be built with Xcode 7 for the splash screen to work in iOS9? Has anyone seen some documentation on whether this is an intended breaking change from Apple?

Thank you!

UPDATE: Looking through the apps again it seems my older apps, which only had a Launch image and no .xib are still displaying correctly, so the issue seems related to the launch screen .xib

UPDATE2: As hagi pointed out in the comment, after re-installing the very same binary it starts working again so the cause is probably that launch images are generated from the xib whenever the app is installed, and stored somewhere, and then when upgrading to iOS9, for some reason (unintended Apple bug most likely), the generated images are cleared, and the app ends up with no splash. And that's why the old-fashioned launch images are still safe and not affected by this, cause they're already baked into the app.

I'll report it as a bug to Apple.

16
could you please provide some information more?Pallavi Ligade
I believe the problem is not code-related. Does this happen during development, too? My guess is that the launch images are generated from XIBs at installation time, but not picked up after an iOS system update. A reinstallation or the next app update should fix this.hagi
@hagi Yes it seems that way. Re-installing solves the problem so, yes, it's probably that images are generation upon installation and then wiped during OS upgrade. Still it feels a bit weird that Apple wouldn't think of this...andrrs
Looks like a bug in iOS9 - this is happening to lots of applications including Safari. Normally a re-launch fixes it. Apple will no doubt push a fix.GlennG
@andrrs can we as developers skip the splash screen altogether on iOS?user2363025

16 Answers

34
votes

Easy fix. No need to mess with anything. Xcode 7 just prefers the images to be "Universal".

  1. Click on Assets.xcassets folder
  2. Click the + sign to Import from Project.
  3. Select all images

Done. Now your launch screen works and Xcode is happier.

15
votes

Same problem here after I updated to iOS 9. Re-installing the app from the App Store seems to solve the problem. I guess, it's an iOS 9 glitch.

9
votes

I had the exact problem and had a black launch screen after using Xcode 7, and at first re-adding the images in Launch-Screen.xib worked but it went black again.

I fixed this permanently by moving the images referenced by Launch-Screen.xib into an asset catalog, rather than using the png filenames.

7
votes

Just to point out that once again (as this solution didn't appear in answers, and I've personally lost around two hours when "fixing" that), sometimes, especially when the app is in active development/debugging, it requires iOS device to reboot for the launch screen to be fixed.

6
votes
  1. Black screen default come because, iOS strictly enforces some a startup images it can be black or any images.
  2. Use UILaunchImages key to the Info.plist file and use a dictionary to describe each launch image. Change setting in your project to ppoin towards Asset Catalog
  3. check following references

I hope above information will help you.

4
votes

In the storyboard 'Clears Graphics Context' box unchecked then It works.

3
votes

With me uninstalling the app, or rebooting the device didn't help. I used XCode for 5 more minutes, which is the mean time between failure in XCode and it gave "Unkown error occurred" error, which was very helpful. Of course as an experienced XCode developer I knew what to do, force-quit, clean the project, rebuild.

The first error was solved meanwhile as I had forgotten about that.

3
votes

What worked for me was

1 - Go to LaunchScreen.storyboard 2 - Select is the initial view controller

enter image description here

And you are good to go.

2
votes

The problem maybe because missing image size: .png, @2x.png, @3x.png at LaunchScreen.xib

I made loading screen by LaunchScreen.xib In this xib has load a image launch.png But there are missing size launch.png, just exist [email protected] and [email protected] After add missing image: launch.png, black square bug is gone.

2
votes

Starting from iOS9 and Xcode 7 you are required to provide a LaunchScreen.storyboard for your launch screen in order to support the new multitasking feature on iPad.

To opt out of being eligible to participate in Slide Over and Split View, add the UIRequiresFullScreen key to your Xcode project’s Info.plist file and apply the Boolean value YES.

2
votes

I have fixed this issue after removed Size Classes for LaunchScreen.xib I used only Auto Layout for it.

1
votes

I noticed the same issue on the launch screen and have a black square in the middle of the screen.

It might be due to missing images at the specified formats .e.g @2x, @3x etc.

1
votes

I had the same problem. I downloaded Xcode 7 and upgraded my project to swift 2.0. After recompiling the issue was gone at first but then it started to happen again later on during my tests on other unrelated code.

So far two things get this fixed, in both cases temporarily. Remove the background image, add the same image with another name. New image works for a while. Second, is you resize the image view, and in most cases the image starts to work again, but only for a while.

I submitted my new update to iTunes connect while I was seeing the splash screen. Not sure if this is an operating system issue or app api issue that gets corrected with a recompilation of code.

I also tried enabling and disabling the new Bitcode feature but that didn't help.

1
votes

I had the same issue with the new iOS 9 project I built using Unity (5.2). To fix that I added the image that I want to show as the launch image to the LaunchScreen-iPad.xib file's Image view.

0
votes

The common solution of adding the Images in LaunchImage and setting it in Launch Image Source and deleting the entry in Launch Screen File did not solve my issue. The launch image is dependent on the iPhone you are using. Since my app was for iOS 8.0 and greater, choosing it in LaunchImage will ask you to upload only Retine 4.5" and Retina 5.5" images. But these sizes will work for iPhone 6 and 6 Plus. You should upload the images based on the device.

iPhone 4S:640 x 960 (@2x)
iPhone 5:640 x 1136 (@2x)
iPhone 6: 750 x 1334 (@2x) portrait, 1334 x 750 (@2x) landscape
iPhone 6 Plus: 1242 x 2208 (@3x) portrait, 2208 x 1242 (@3x) landscape

I wasted so much time solving the black screen launchimage issue. Hope this helps someone.

0
votes

We always need to add proper size of image if we are using image.Assets for Launch image and select correct options for launch image Source on Clicking project navigator>General>AppICons and launch images > launch image Source > BrandAssets

If size of launch image is not correct with respect to device on which you are try to running app, then your app will run as iPhone 4 showing black top and bottom bars.