Skip to content

What Developers Must Do Before iOS 27 Ships

Published: at 12:00 AM

Before iOS 27 officially ships, there’s a seemingly minor but ship-critical hard requirement that developers need to prepare for in advance.

Anyone who did iOS development in the early days is familiar with the Launch Screen. Before SwiftUI arrived, it was standard in every project, used to cover the blank period while the app loaded. In China, it was also frequently repurposed as an ad slot and for brand promotion.

Later, as SwiftUI became widespread, Xcode stopped requiring a launch screen when creating new projects, and the concept gradually faded from everyone’s memory.

However, Apple just released the technical note TN3208 (Preparing your app’s launch screen to meet App Store requirements), stating clearly that starting with iOS 27 / iPadOS 27, all apps must configure a launch screen. Apple emphasizes that this ensures apps continue to deliver an instantly responsive, smooth experience under modern system capabilities such as multitasking and dynamic resizing.

Key Changes and the Review Red Line

The most critical change is in the App Store review process. Once iOS 27 officially ships this fall, any iPhone / iPad app built with the iOS 27 SDK and submitted to the App Store or a third-party marketplace must include at least one of the following keys in its Info.plist:

If these configurations are missing, the upload will directly trigger the ITMS-90870 error and be rejected:

Missing launch screen. Starting with the iOS 27 release this fall, apps built with the iOS 27 SDK or later must provide a launch screen using an Xcode storyboard or UILaunchScreen.

How to Configure and Adapt

Apple offers two mainstream adaptation approaches in the documentation:

For pure SwiftUI new projects, if Xcode has the “Generate Info.plist File” and “Launch Screen (Generation)” build settings enabled, the system will automatically generate the corresponding launch screen configuration at compile time, usually requiring no manual intervention.

2. The More Customizable Approach: Storyboard

If your app needs a complex first-screen layout or fully custom visual design, you can still create a dedicated launch screen Storyboard and point to it via UILaunchStoryboardName in Info.plist.

Testing and Troubleshooting

Once configured, be sure to completely delete the old version of the app on a real device or simulator before reinstalling. If you see a white screen on launch, stale cache that hasn’t updated, or the launch screen being skipped entirely, refer to Apple’s debugging note TN3118 for troubleshooting cache issues specifically.

There’s still some time before the new system ships. It’s a good idea to check your Info.plist configuration while maintaining projects or preparing new releases in the near term, to avoid getting blocked by a sudden error when submitting after the fall launch.