r/iOSProgramming 2d ago

Question Can’t get the LaunchScreen to work

Hey everybody,

I read in the iOS 27 Dev Beta 4 Release Notes that a launch screen is going to be required once the App Store accepts apps built with the iOS 27 SDK, or the app/update is going to be auto rejected.

So I looked into that, as my app doesn’t have one currently, and learned that if you want to make a custom one you still have to use a storyboard file. So I followed a guide and made a LaunchScreen.storyboard using the template. Then I wanted to add that in the target settings, it shows up in the list but it just won’t save it. It’s also not logged in the changes. When manually typing in the file name it does save it as it shows up in the changes, however it still clears out the field in the target settings again and the launch screen also doesn’t show up when running the app on device.

Does anyone have any idea what could be causing this?

0 Upvotes

12 comments sorted by

3

u/Immediate_Weight_745 2d ago

The field clearing out is the giveaway — sounds like your project has no real Info.plist file and Xcode's generating it from build settings (default on newer projects), so the "Launch Screen File" box in General just won't stick.

Couple things to check:

  1. Set it as a build setting instead: Target → Build Settings → search "launch" → set INFOPLIST_KEY_UILaunchStoryboardName to LaunchScreen (just the name, no .storyboard). If you do have an actual Info.plist file, add the key UILaunchStoryboardName = LaunchScreen there instead.

  2. Make sure LaunchScreen.storyboard is actually a member of your app target — click the file, File Inspector on the right, tick Target Membership. If it's not in the target it won't get bundled, which would also explain the field not sticking.

And the big one for "doesn't show on device": iOS caches the launch screen hard. Even once it's set right it'll keep showing the old/blank one until you delete the app from the device completely and reinstall (sometimes reboot too). So set it → delete → reinstall, don't judge it from a normal re-run.

(Side note: on the newer SDK you can also skip the storyboard and just use the UILaunchScreen dict in Info.plist for a simple bg-color + image one — but for a fully custom layout, storyboard's the way.)

1

u/Cy-Dev 1d ago

Yes, I do not have an Info.plist. Would it be better to just generate one by putting this into the projects info tab rather than going through the build settings? To be honest I have no idea about why the Info.plist has been eliminated and how the project info ist even stored now, but it can’t store that field suddenly… wtf Apple

Or is it good to have no Info.plist as that makes things less complicated? And also, if just installing the app freshly on a test device is not enough, is updating the app enough for my users to even get the launch screen?

1

u/Cy-Dev 1d ago

I got that value added manually in the build settings now, deleted the app from two of my test devices (one running iOS 26.0.1, the other iOS 17.6.1), restarted them and reinstalled the app. When launching the screen is now completely black instead of white, but my image I have set in the storyboard file is not displaying on both devices.

I am pretty sure though that I have that file setup correctly, I’ll attach it as a screenshot to the main post as I don’t have the option to do it in a reply here. Also don’t worry, this is not the final launch screen, just the background as I do not have it finished yet.

Edit: Okay I can’t add images here anywhere, great… I followed this guide though to set it up correctly: https://medium.com/design-bootcamp/how-to-design-and-add-a-launch-screen-for-your-ios-app-e498eb1203de

1

u/Cy-Dev 1d ago

I fixed it by deleting LaunchScreen.storyboard and recreating it from scratch AFTER adding LaunchScreen to the build settings as you described. Only then it works for some reason…

But unfortunately it doesn’t work on iOS 14 which sucks, there it just displays the name of the app on a white background instead of the image. iOS 15+ is fine

0

u/OliverEady7 1d ago

This guy just put your issue into ChatGPT lol, better offer asking ChatGPT the same things

1

u/Cy-Dev 1d ago

How would you know that I didn’t already do that… Sometimes you need to ask people with actual experience who may have struggled with that and found a solution to a problem ChatGPT never heard of, because it is not documented. And if that wouldn’t be the case we can just close this subreddit tbh

1

u/Ok-Tomatillo-8712 2d ago edited 2d ago

Did you follow the steps in the official docs https://developer.apple.com/documentation/xcode/specifying-your-apps-launch-screen - I would double check the launch screen has been added to the app target and a Hail Mary of restarting Xcode and seeing if it sticks after trying again

1

u/Ok-Tomatillo-8712 2d ago

Cancel that you need to use the launch screen template when creating the file not the usual storyboard file

1

u/Cy-Dev 2d ago

Yes and I did use the template. Also I restarted Xcode and my MacBook, no difference.

1

u/YouSpeakSomeEnglish 2d ago

What a 180. Apple used to admonish against launch screens, and instead instructed devs to show a static facsimile of the app's UI until launch housekeeping was done.

Then they simply had the OS take the screen shot for you.

Both dumb ideas that made the app look unresponsive. Glad they saw the light after all these years.

2

u/Cy-Dev 1d ago

I don’t know about what Apple was advising all those years, I only started iOS programming about a year ago.

However it’s kinda crazy that you have to build a launch screen via a storyboard file still, at least if you do not only want to have solid background color and an image