Opt Out of Liquid Glass with One Info.plist Key
Temporarily disable iOS 26 Liquid Glass across the app using a single Info.plist key while migrating UI to the new design.
Apple introduced Liquid Glass in iOS 26; the system provides an app-wide temporary opt-out for teams migrating UI on a deadline. Use it only while modernizing bars, overlays, and materials to the new SDK.
How to disable Liquid Glass (quick steps)
- In Xcode 26, open your target’s Info.
- Add
UIDesignRequiresCompatibility→ Boolean → YES. - Build and run on iOS/iPadOS 26+. Your app keeps the previous design.
Note: Apple positions this flag primarily for debugging/testing and short-term migration.
Problem
Design shifts to Liquid Glass can break contrast, layering, and custom chrome in legacy codebases. Teams need a reversible, app-wide switch to maintain stable visuals during refactors.
Solution: Info.plist toggle
Add a Boolean key to Info.plist to revert to pre–Liquid Glass appearance across the entire app:
- Key: UIDesignRequiresCompatibility
- Type: Boolean
- Value: YES
This is a compatibility mode provided with Xcode 26/iOS 26, not a per-view override. Plan removal once UI is updated.
Example (Info.plist XML)
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- … existing keys … -->
<key>UIDesignRequiresCompatibility</key>
<true/>
</dict>
</plist>
Example (Xcode property list)
- Add Row → UIDesignRequiresCompatibility → Boolean → YES.
iOS versioning and behavior
- Minimum OS: iOS 26 (ignored on earlier OS versions).
- Scope: App-wide; affects bars, toolbars, tab bars, sheets, and system chrome rendered with the new material.
- Limitation: Not granular; cannot target single screens.
- Build requirement: Xcode 26. The key is intended for apps rebuilt with Xcode 26.
Risk and migration guidance
- Treat as temporary; Apple intends to remove this option in the next major Xcode release (Xcode 27). Plan to adopt Liquid Glass before then.
- Use the window to audit contrast, elevation, and translucency; adopt Apple’s materials for overlays and chrome.
- Prioritize: navigation bars, tab bars, toolbars, sheets, floating buttons, large title transitions.
SwiftUI and UIKit checkpoints
- SwiftUI: Audit .toolbarBackground, .toolbar, Material usage, and any custom .background blur stacks.
- UIKit: Review UIVisualEffectView stacks, UIBlurEffect styles, UINavigationBarAppearance/UITabBarAppearance translucency, and scroll-edge appearances.
Test strategy
- Verify in Light/Dark Mode, Increased Contrast, and Reduce Transparency.
- Snapshot pre/post with the key toggled to isolate regressions in hierarchy and elevation.
- Profile with Instruments for offscreen rendering and layer blending after re-enabling Liquid Glass.
User-side mitigation (QA devices)
- Settings → Accessibility → Display & Text Size → Reduce Transparency reduces translucency globally for testing.
- Do not rely on this for product behavior; it’s a device-wide setting, not an app guarantee.
References
☕ Support My Work
If you found this post helpful and want to support more content like this, you can buy me a coffee!
Your support helps me continue creating useful articles and tips for fellow developers. Thank you! 🙏