
Apple’s WWDC 2026 keynote is running today, and the headline news — Gemini-powered Siri, macOS 27 dropping Intel — is getting most of the attention. But if you ship iOS apps, there are two breaking changes in iOS 27 that deserve your attention before the developer beta lands. One will visually break your UI. The other will crash your app on launch. Both activate when you compile with Xcode 27, and Xcode 27 builds become mandatory for the App Store around April 2027.
UIDesignRequiresCompatibility Is Gone
When Apple introduced Liquid Glass with iOS 26 last year, developers could set UIDesignRequiresCompatibility = true in their Info.plist to keep the pre-glass look. Apple was explicit at WWDC 2025 developer workshops that this was a temporary escape hatch — not a long-term opt-out. In Xcode 27, the flag is removed. Recompile your app and Liquid Glass is applied automatically.
For apps using standard SwiftUI and UIKit components, this goes fine. The system handles the transition. For apps with heavy custom UI, it’s going to look wrong. The specific breakage points:
- Custom navigation bar background colors set via
navigationBarAppearance - Custom tab bar background colors
- Layout code that pins content relative to the tab bar — the new floating tab bar changes
safeAreaInsets
The mandate has been clear since Apple’s developer relations team addressed concerns at workshops: “Liquid Glass is absolutely moving forward, evolving, and expanding across the ecosystem.” Holding onto UIDesignRequiresCompatibility was always borrowing time. The AppleInsider analysis from March 2026 called it precisely — the flag was never going to survive a major OS cycle.
The More Dangerous Change: UIScene Lifecycle
While the Liquid Glass flag removal will break your UI, the UIScene lifecycle change will crash your app. Apple published Tech Note TN3187 during the iOS 26 cycle as a warning: “in the next major release, the UIScene lifecycle will be mandatory when building with the latest SDK, and apps will not launch without adopting it.”
iOS 27 is that next major release. Apps without a UIApplicationSceneManifest entry in Info.plist will fail to launch before AppDelegate even fires. This is not a warning or deprecation notice — it’s a hard crash at startup.
The migration is straightforward but touches several parts of your codebase. The core steps:
- Create a
SceneDelegate.swiftthat implementsUIWindowSceneDelegate - Add
UIApplicationSceneManifestto Info.plist - Replace
UIWindow()initialization withUIWindow(windowScene:) - Move UI startup code from
AppDelegate.application(_:didFinishLaunchingWithOptions:)toSceneDelegate.scene(_:willConnectTo:options:)
Your AppDelegate stays — APNs token registration and process-level events remain there. Universal Links, custom URL schemes, and state restoration move to SceneDelegate. The apps most at risk are older codebases that never adopted the multi-window architecture Apple introduced in iOS 13.
What the Liquid Glass APIs Actually Look Like
For developers who haven’t adopted Liquid Glass yet, the SwiftUI API is cleaner than most expected. The primary modifier is .glassEffect():
Text("Settings")
.padding()
.glassEffect()
That applies a capsule-shaped glass background to the view. For multiple glass elements, wrap them in a GlassEffectContainer — glass cannot correctly render on top of other glass without the container managing blending. When elements are close enough, the container merges them into a single morphing shape. Use .glassEffectID for smooth cross-view transitions.
For UIKit: use UIGlassEffect wrapped in a UIVisualEffectView, managed by UIGlassContainerEffect. Apple’s official Adopting Liquid Glass documentation and the DevelopersIO iOS 27 migration guide cover both paths in detail.
The Good News: iOS 27 Actually Fixes the Problems
iOS 26’s Liquid Glass had real issues. Battery drain on non-Pro iPhones was measurable — real-time GPU refraction is not free. Text overlaid on glass backgrounds was unreadable on certain wallpapers. Motion effects caused discomfort for some users.
iOS 27, announced today, addresses this directly. Apple is shipping improved adaptive contrast algorithms that adjust how glass refracts based on background content. Users get an intensity slider to control transparency levels. Developers get more design token options for consistent implementation. The focus is on making Liquid Glass more reliable across device tiers — not on rolling it back.
That’s an important distinction. Apple’s position on Liquid Glass as a design direction has never wavered. What iOS 27 offers is a version of Liquid Glass that works better across device tiers and use cases. Per 9to5Mac’s May 2026 report, the refinements were specifically in response to developer and user feedback from the iOS 26 cycle.
Your Action Plan
The Xcode 27 developer beta is available now at developer.apple.com/wwdc26. Here’s how to prioritize:
- UIScene lifecycle first. It’s a launch blocker. Check Apple’s TN3187 and add the SceneDelegate now. This is the change that prevents your app from running at all.
- Audit your custom UI. Identify every navigation bar appearance customization, tab bar background, and layout assumption that depends on the old tab bar position. Plan the cleanup.
- Test on varied wallpapers. Liquid Glass looks different depending on what’s behind it. Test on dark, light, and colorful backgrounds with real users.
- Don’t wait until February 2027. The April 2027 App Store deadline sounds distant. It isn’t, once you factor in development time, QA, and App Review cycles.
WWDC 2026 just confirmed what Apple’s evangelists communicated last year: Liquid Glass is permanent. The only variable left is how much runway you give yourself before the deadline.












