The iOS 27 Launch Screen Rule: Four Keys or Rejection
Apple’s iOS 27 release notes convert a documentation sentence into a submission gate: “iOS and iPadOS apps built with the 27.0 SDK or later are required to include a launch screen. Your app’s Info.plist must contain one of the following keys: UILaunchStoryboardName, UILaunchStoryboards, UILaunchScreen, or UILaunchScreens. Apps that don’t include a launch screen are rejected when the App Store begins accepting apps built with the 27.0 SDK.”1
The requirement itself is old. Apple’s Xcode guide opens with “Every iOS app must provide a launch screen.”2 What arrives in iOS 27 is the consequence for ignoring it.
TL;DR
- Apps built against the iOS 27.0 SDK or later must declare a launch screen through one of four
Info.plistkeys, and the App Store rejects builds that don’t.1 - The gate is submission, not runtime. Apple’s language is “rejected when the App Store begins accepting apps built with the 27.0 SDK,” so the failure lands in App Store Connect rather than on a user’s device.1
- The rule names iOS and iPadOS and stops there. Apple does not extend it to tvOS, visionOS, or Mac Catalyst in the same note.1 The scene life cycle mandate landing in the same cycle reads differently: its migration guide binds iOS 27, iPadOS 27, Mac Catalyst 27, tvOS 27, and visionOS 27 by name.3
- Two keys cover a single launch screen (
UILaunchScreenbuilds one in the property list,UILaunchStoryboardNamenames a storyboard file) and two cover per-URL-scheme variants (UILaunchScreens,UILaunchStoryboards). Three of the four are dictionaries;UILaunchStoryboardNamealone is a string.4567 - Projects created from recent Xcode templates already satisfy the rule, and they satisfy it through a build setting rather than a file.811 Auditing by grepping your repository for the four keys therefore misses the answer entirely.
The rule, stated precisely
Three details in Apple’s sentence carry weight, and coverage tends to blur all three.
First, the trigger is the SDK you build against, not the OS your users run.…