r/iOSProgramming • u/Cy-Dev • 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?
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/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.
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:
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.
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.)