Where to place the app's splash screen on Xcode UI Builder?

I am trying to build my app interface with the interface builder in Xcode. My question is, where to place the splash screen? Is it LuanchScreen.storyboard? or is it the first screen of Main.storyboard?

Accepted Reply

What platform are you talking about here, macOS or iOS?


Either way, the launch storyboard is what's used (briefly) when your app starts up. It is recommended that you do NOT use this to display any kind of splash screen at all. (For one thing, sometimes on iOS your app will get launched with a snapshot of its previous state instead of the launch storyboard. For another, displaying "branding" such as a splash screen just makes your app look like it's slower to launch.)


If you really must have a splash screen, then don't think of it as a launch screen. You don't control how long the launch screen is displayed (if it's displayed at all), but you do want a real splash screen to be displayed for a second or two, but no more or less. In that case, I would suggest you set the splash screen view as the initial view of your main storyboard, and use a timer to dismiss it and move on to the actual main view.

Replies

It is LuanchScreen.storyboard.


But remember that LuanchScreen.storyboard is not very flexible (and not interactive)

Can I use the first view of main.storyboard then set it as launch screen in the "File Inspector"?

What platform are you talking about here, macOS or iOS?


Either way, the launch storyboard is what's used (briefly) when your app starts up. It is recommended that you do NOT use this to display any kind of splash screen at all. (For one thing, sometimes on iOS your app will get launched with a snapshot of its previous state instead of the launch storyboard. For another, displaying "branding" such as a splash screen just makes your app look like it's slower to launch.)


If you really must have a splash screen, then don't think of it as a launch screen. You don't control how long the launch screen is displayed (if it's displayed at all), but you do want a real splash screen to be displayed for a second or two, but no more or less. In that case, I would suggest you set the splash screen view as the initial view of your main storyboard, and use a timer to dismiss it and move on to the actual main view.

>Can I use the first view of main.storyboard then set it as launch screen in the "File Inspector"?


As Claude notes, devs are now prompted by Apple to use a launchscreen.storyboard with current tools/SDKs, mainly due to how it works to help support multiple displays.


AFAIK launchscreen.storyboard will use main.storyboard, so...might as well let it happen that way, for you, instead of trying to set things up manually.


From the docs/HIGs:


"Using an Xcode storyboard is the recommended approach, as storyboards are flexible and adaptable. You can use a single storyboard to manage all of your launch screens. To learn about implementing adaptable interfaces, see Auto Layout Guide."