Post

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.

Opt Out of Liquid Glass with One Info.plist Key

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)

  1. In Xcode 26, open your target’s Info.
  2. Add UIDesignRequiresCompatibility → Boolean → YES.
  3. 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! 🙏

This post is licensed under CC BY 4.0 by the author.