Fix ITMS-90870: Missing Launch Screen on iOS 27 Build
Apps built with the iOS 27 SDK must declare a launch screen in Info.plist, and App Store Connect rejects uploads that don't with ITMS-90870. Here's why the error appears and three ways to fix it.
// 14 articles available
Apps built with the iOS 27 SDK must declare a launch screen in Info.plist, and App Store Connect rejects uploads that don't with ITMS-90870. Here's why the error appears and three ways to fix it.
Apps built with the iOS 27 SDK must use the UIKit scene life cycle or they fail to launch. Here's how to tell if your app is affected, add a scene manifest, and move your app delegate code into a scene delegate.
An app that ran fine for years suddenly hangs on the splash screen when you debug it on an iOS 27 device, with an OS_dispatch_mach_msg unrecognized selector in the console. Here is what causes it and the one-line fix.
Xcode 27 dropped support for deployment targets below iOS 15. If your build now fails with IPHONEOS_DEPLOYMENT_TARGET set to a lower value and a supported range of 15.0 to 27.0, here is why and how to fix it.
print is fine for scratch work, but production apps need categories, levels, and privacy redaction. Here is how the Logger API from the os module gives you all of that without much ceremony.
When SwiftUI previews break, the error messages aren't always helpful. Here's how to debug them, clear caches, and get back to a working state.
When Xcode says it can't find a module you've clearly installed, the problem is usually in your build configuration, not your package manager.
When the iOS Simulator refuses to launch, gets stuck booting, or shows a black screen, here's how to diagnose and fix it.
When Xcode's indexing gets stuck or takes forever, your autocomplete and jump-to-definition stop working. Here's how to get it unstuck.
When SwiftUI previews fail with cryptic errors or just spin forever, here's how to diagnose and fix the most common causes.
Learn how to symbolicate crash logs from App Store Connect and Xcode Cloud to debug production crashes effectively.
Learn how to dump all SwiftUI environment values for debugging purposes.
Learn how to fix the Firebase Crashlytics dSYM files not properly being uploaded to Firebase after upgrading to Xcode 15/16.
Swizzling is powerful but dangerous. Here are the common pitfalls and how to avoid turning your clever hack into a debugging nightmare.