# ITMS-90870 Missing launch screen: what it means and how to fix it > App Store Connect rejects an upload built with the iOS 27 SDK or later when the Info.plist has no launch screen key. The exact message, the four keys it accepts, and the one-key fix, taken from Apple's technote. - Canonical page: https://obelisk.club/blog/itms-90870-missing-launch-screen - Author: Peter Zhang - Published: 2026-10-31 - Tags: xcode, app-store-connect, itms, swiftui, info-plist, debugging If your upload fails with ITMS-90870, App Store Connect found no launch screen configuration in the app's Info.plist. This is the message as Apple words it: ```text ITMS-90870: Missing launch screen. Apps built with the iOS 27 SDK or later must provide a launch screen using an Xcode storyboard or UILaunchScreen. Make sure the Info.plist contains one of the following keys: UILaunchStoryboardName, UILaunchStoryboards, UILaunchScreen, UILaunchScreens. ``` ## What it means Starting with the iOS 27 and iPadOS 27 SDK, App Store Connect requires a launch screen configuration. A build made with that SDK and uploaded without any of the four keys above is rejected at upload, before review. Apple describes the requirement in the technote [TN3208: Preparing your app's launch screen to meet App Store requirements](https://developer.apple.com/documentation/technotes/tn3208-preparing-your-apps-launch-screen-to-meet-app-store-requirements). ## How to fix it 1. Open the app target's Info.plist (or the Info tab of the target in Xcode). 2. Check whether one of these keys is present: `UILaunchStoryboardName`, `UILaunchStoryboards`, `UILaunchScreen`, `UILaunchScreens`. 3. If none is, add `UILaunchScreen` to configure a launch screen. Xcode includes it by default in new SwiftUI projects, so an older project that was started before that default is the usual place the key is missing. If you need a custom layout, use a launch screen storyboard and set `UILaunchStoryboardName` instead. 4. Archive again and upload a new build. The check runs on each upload, so the old build number cannot be reused. Read the technote for what you can put inside `UILaunchScreen`; this page only covers the keys Apple's error message names. ## Check it before you upload Paste your Info.plist into the [Info.plist checker](/tools/info-plist-checker) to see which launch screen keys it has before you spend a build number. If you already have the error text, paste the whole email or Xcode output into the [ITMS error lookup](/tools/itms-error-lookup): it explains every ITMS code in it, with the Apple page each explanation comes from. ## Related upload errors - **ITMS-90725, SDK version issue:** the build used an SDK older than the minimum App Store Connect requires. The required SDK changes every year, so rebuild with the Xcode release Apple's Upcoming Requirements page names. - **ITMS-91053 and ITMS-91055:** privacy manifest problems. 91053 is a missing declaration for an API that needs a reason, 91055 is a reason value that is not a valid reason code for that API category. Both are in the lookup with the forum thread they come from. Apple does not publish a list of ITMS codes, and messages are reworded with each year's SDK rules, so the message you get may differ from the one quoted here.