Independent Apple News & Troubleshooting Community — Not affiliated with Apple Inc. Apple Discussions Closing Nov 20 → Join Open Q&A
MappleCare
iOS & iPhone Fixes

Developers bring incredible new app experiences to iPhone Duo

By admin • • 2 min read
Developers bring incredible new app experiences to iPhone Duo

The iPhone Duo introduces a dual‑panel display driven by a hinge‑aware display controller that presents two logically independent UIWindowScene instances to the operating system. The display server (SpringBoard) now negotiates a shared surface with the GPU driver, exposing a continuous 120 Hz refresh across both panels while allowing each panel to adopt distinct safe‑area insets, pixel‑density scaling, and orientation locks. This architecture required a rewrite of the CoreAnimation compositor to treat the hinge as a first‑class layout constraint, enabling seamless transitions between folded, half‑folded, and fully unfolded states without a full‑screen redraw.

At the SDK level, Apple shipped FoldableKit in iOS 18, a new framework that surfaces hinge angle, fold posture, and panel geometry through a dedicated UIFoldableDevice protocol. Existing UIKit and SwiftUI layout engines consume these metrics via the updated UIWindowSceneDelegate methods sceneWillEnterFoldState(_:) and sceneDidChangeFoldGeometry(_:). Developers can now declare adaptive split‑view hierarchies, persistent multi‑window sessions, and continuity‑aware state restoration without resorting to private APIs. The toolchain also adds a new entitlement (com.apple.developer.foldable) that gates access to the hinge sensor and multi‑window APIs, ensuring sandbox compliance.

Key Engineering Takeaway: The iPhone Duo’s hinge‑aware display controller splits a single physical panel into two logical UIWindowScenes, and FoldableKit provides the sanctioned API surface for adaptive multi‑window layouts.
Subsystem / Parameter Baseline / Previous Updated Implementation
Display Subsystem Single full‑screen panel, static safe‑area Dual logical panels with hinge‑aware safe‑area insets and independent density scaling
Window Management One UIWindowScene per app, full‑screen only Multiple concurrent UIWindowScenes per app, split‑view and side‑by‑side modes
Developer SDK iOS 17 SDK, UIKit/SwiftUI only iOS 18 SDK with FoldableKit, UIFoldableDevice protocol, foldable entitlement

Actionable Diagnostic & Implementation Steps

  1. Upgrade to Xcode 16.2 (or later) and enable the com.apple.developer.foldable entitlement in the target’s Signing & Capabilities pane; verify the entitlement appears in the provisioning profile.
  2. Adopt UIFoldableDevice in your UIWindowSceneDelegate to observe sceneWillEnterFoldState(_:) and sceneDidChangeFoldGeometry(_:); refactor layout code to use UIWindowSceneGeometryPreferences for split‑view constraints and to preserve state across fold transitions.
  3. Run the app on the iPhone Duo simulator (select “Foldable” device profile) and on a physical unit; exercise folded, half‑folded, and unfolded postures, then submit the binary with the new UISupportedFoldStates Info.plist key to App Store Connect.

Ecosystem Compatibility & Support Notice

  • iOS 18.0 or later on iPhone Duo hardware
  • Xcode 16.2+ with Swift 6.0 toolchain
  • App Store Connect configured for foldable metadata (supported fold states, panel dimensions)

Source and technical reference: Apple Newsroom RSS.

Still running into this issue on your iPhone or Mac?

Share your OS version, device model, and exact error code in our independent peer Q&A rooms.

Ask in Community Forum →