39

I'm trying to use Xcode's LaunchScreen storyboard as my launch screen? All the questions that have previously been asked about this refer back to the old launch image or .xib method - trying to do it now with the new LaunchScreen storyboard that Xcode automatically generates instead. I've selected the LaunchScreen storyboard as my launch screen file in my Deployment Info: Deployment Info Image

The storyboard itself confirms that it is set as the launch screen in it's file inspector.

File Inspector of LaunchScreen storyboard

And the info.plist file reflects this as well.

enter image description here

And yet, it doesn't work. The LaunchScreen storyboard never shows - it just goes straight to the first screen in my main storyboard. Using Xcode 7.2 and deploying to iOS 9.

Cœur
  • 37,241
  • 25
  • 195
  • 267
A. Vin
  • 865
  • 1
  • 6
  • 19

20 Answers20

63

Enable these two settings for the LaunchScreen.storyboard

enter image description here enter image description here

Community
  • 1
  • 1
StackUnderflow
  • 2,403
  • 2
  • 21
  • 28
  • 7
    This should be selected as the best answer. "Is initial view controller" does the trick. :) – Q i Apr 01 '17 at 23:41
  • 10
    I have both those settings enabled and the problem persists. – jnel899 Jun 01 '17 at 15:32
  • 3
    I solved the problem by deleting my LaunchScreen.storyboard file and creating a new one. Seems to be a bug on Apple's end, something that requires a workaround and cannot be solved just by having the correct configuration. – jnel899 Jun 01 '17 at 15:54
  • Use the default LaunchScreen.storyboard and nothing else, stick to the plan...the plan works! – StackUnderflow Mar 02 '18 at 21:56
  • "Is Initial View Controller" does not exist for me on the latest XCode 11.5 – Curtis Jun 19 '20 at 20:41
  • Yes it is. You have to select a view controller. https://www.dropbox.com/s/mxljq4pzi0ger99/36947371.png?dl=0 – StackUnderflow Jun 19 '20 at 22:43
  • "I have both those settings enabled and the problem persists." -- you need unselect and that select again "Is initial view controller" – Petro Novosad Nov 11 '20 at 12:41
  • Thanks for the screenshots... Couldn't figure out that second tab, as I've never really worked with storyboard and didn't know where to find that tab mentioned in other answers. +1! – user3413723 Aug 28 '23 at 09:40
33

If you are using xcode 11.2 you'll need to remove the app and execute it again to see the launch screen. I have to do this every time I modify the launch screen in order to see the new changes.

abanet
  • 1,327
  • 17
  • 22
19

Another thing to make sure is that Launch Screen File is set to Launch Screen.storyboard

Launch Screen File

sajas
  • 1,599
  • 1
  • 17
  • 39
Vicki Lee
  • 191
  • 1
  • 2
  • This is the bit that worked for me - did everything else, then checked this project setting, and after adding it, boom - the launch screen was shown. Thanks. – Jools Jul 01 '20 at 17:08
  • Yep! Worked right away without a need for any reinstall ^^ – LovesickDev Mar 04 '23 at 22:55
14

**Delete the app from the device. Re-run. **

In my case I had all the suggested settings set correctly but continued to have the original blank launchscreen. In the spirit of AmJa's suggestion regarding a "cache" problem, I deleted my app from my device and reinstalled. Reinstalling did the trick for me on both my devices and simulators.

Marcy
  • 4,611
  • 2
  • 34
  • 52
  • 2
    Yeah, given all the other good answers here, in the end, the old launch screen persisted until I deleted and reinstalled. Needless to say, this isn’t really a viable solution for end users, but it is what it is. – Rob Jan 05 '20 at 20:24
  • 1
    This is the only answer that worked for me after trying everything else on this page - thank you! – pizza7 Jan 24 '20 at 21:52
10

In case anyone else runs into this issue, I resolved it by simply deleting the ViewController on my LaunchScreen storyboard (leaving me with an empty storyboard), creating a new ViewController and resetting the Storyboard entry point to that new ViewController. There may be some sort of bug with XCode 7.2 with respect to the LaunchScreen storyboard and default entry point into the auto-created View Controller, but then again, I've tried replicating this 3 times and it hasn't ever repeated itself, so maybe not.

A. Vin
  • 865
  • 1
  • 6
  • 19
9

In storyboard, in ViewController scene, I had to check Is Initial View Controller for storyboard to be seen as Launch Storyboard.

Suprisingly this is not checked when you add first View Controller. Xcode 11.

enter image description here

Martin Berger
  • 1,639
  • 3
  • 18
  • 39
7

Just in case it helps someone. Scenario, I created my new project and copied a old Launch Image from another project. And then started getting the launch image but when I wanted to change it to new image then still i was viewing the old image it was stuck for ever as launch image no matter what I do. Then I reset my Simulator and restarted my iPhone and there you go I stared getting the new image. This looks like that somewhere in the documents or cache the devices store the old image until you reset the phone. Thanks

AmJa
  • 798
  • 1
  • 11
  • 25
7

As @abanet, mentioned in his answer, anyone who uses Xcode 11.2 and above, they have to delete their app and launch it again to see launch screen changes. It's not reflecting immediately. It looks like a bug from Xcode definitely not an intension.

Sivajee Battina
  • 4,124
  • 2
  • 22
  • 45
5

How to fix for Xcode 11.0 and above:

Reason: Launch Screen part of storyboard is cached during development and doesn't change until you remove app from device / simulator and reinstall it completely.

Andrei Konstantinov
  • 6,971
  • 4
  • 41
  • 57
3

Other solutions didn't work for me, but this did:

  • Toggle on and off Device Orientation (e.g. support Upside Down) and Hide Status Bar in General.

I'm not sure which one did the trick, but it's working now. enter image description here

Johnny Rockex
  • 4,136
  • 3
  • 35
  • 55
  • Can't believe this fixed it - interestingly, I have to leave "Hide Status Bar" checked, otherwise the launch image stops showing (using Xcode 11.1). – Shaun Oct 11 '19 at 20:26
  • 1
    I can't believe this fixed it!!!! I tried dozens of other suggestions, but this was the solution. – Chuck Krutsinger Oct 14 '20 at 01:42
2

If you don't see anything and your Launchscreen.storyboard only has an ImageView in it, then it might actually be showing the storyboard but not the image. Try putting a button in it or something. I've discovered that my Launchscreen.storyboard is actually showing but won't show any images and I don't know why.

Curtis
  • 2,486
  • 5
  • 40
  • 44
2

The issue can be also that the "LaunchScreen.storyboard" is not added to this target.

To fix this open "LaunchScreen.storyboard" then press on "File Inspector" and under "Target Membership" add it to the needed target.

Mina Gerges
  • 319
  • 3
  • 15
1

I tried everything mentioned here, the only thing that worked for me was creating a new LaunchScreen file. I'm using Xcode 12.1 (Don't forget to update the reference in the targets settings)

AW5
  • 406
  • 3
  • 12
0

I was banging my head against a wall with this since Xcode 10.1 does not include a launch option for the new 11" iPad Pro when you create a new iOS Launch Image set, and without it, the iPad Pro doesn't display correctly, leaving me no choice but to get this working with a Launch Screen storyboard.

I tried combinations of so many things, but I wanted to post what ended up making it work 100% of the time (which was, in fact, a combination of a number of things).

As you have no doubt read, for the UIImageView within the Launch Screen storyboard, you should NOT include the extension (.jpg or .png). So many posts say that, but leave out that the reason is that you should create a new image set within Images.xcassets (NOT Launch Screen image set, but just image set) and name it whatever you want (for instance, "Launch-Default"). Then, drag and drop the desired .jpg or .png into the new image set. You will then use the name of that image set within the UIImageView in the storyboard and everything should work fine (the image should even show up inside of Interface Builder).

Also, within the General settings for the project, make sure to set the Launch Screen File to your new storyboard.

John Holtkamp
  • 159
  • 1
  • 5
0

You need to add App orientation specific Launch Screen.

LaunchScreen Portrait: https://app.box.com/s/hfoeuvsy68iu913keb8p5hs1z9fdz3jk

LaunchScreen Landscape : https://app.box.com/s/o9q5nkrvk2ewdh57oiiar85zf658olgj

Drag LaunchScreen.storyboard & LaunchScreenBackground.png to Xcode sidebar. Then specify LaunchScreen in Xcode General page. See attach image

enter image description here

Guru
  • 21,652
  • 10
  • 63
  • 102
0

In my case, the problem was that the image for the logo was taken from a different target. Make sure that the image is from the main target of the application, and reset the simulator via menu Device/Erase All Content ad Settings...

0

In my case a few image views cover the whole parent view of the launch screen (e.g. pinned to the view edges). I had to uncheck the Resize view from NIB in the Attribute inspector for the launch storyboard and finally it worked for me (just do not forget to manually delete the old app from the simulator)

-1

In my case the background color of the view (full screen) was set to a "missing" color literal! After trying all above of course ;(

FlimFlam Vir
  • 1,080
  • 9
  • 15
-1

A jpg image does a problem change the extension to png or use another png image Worked like a charm for me

-3

in xcode9 swift4 LaunchScreen storyboard, use .jpg image & uncheck clear graphics context for imageview. it's absolutly working.

Tejas Ardeshna
  • 4,343
  • 2
  • 20
  • 39