Skip to content
iPhone Duo SupportGet help

Flutter on iPhone Duo

The abstraction already exists from Android foldables. Whether the iOS embedder populates it for iPhone Duo is unconfirmed.

Engineering analysis, not vendor guidance

Flutter has not shipped iPhone Duo support or published guidance for it. Everything below is our analysis of how Flutter behaves against the APIs and behaviours Apple has documented. Treat the Apple-side facts as authoritative and the Flutter-side conclusions as reasoned inference to verify against your own app.

Flutter is in an unusual position: it already has the right abstraction for foldables, built for Android devices years ago, but no confirmation that it is wired up on iOS for iPhone Duo.

Google has published no iPhone Duo guidance. What follows is our analysis.

The abstraction already exists

MediaQuery.displayFeatures reports hinges and cutouts on Android foldables, with bounds and state, and the TwoPane widget and hinge-aware widgets were built on top of it. Conceptually this maps almost exactly onto Apple’s division and occlusion regions.

final features = MediaQuery.of(context).displayFeatures;
final hinge = features.where((f) => f.type == DisplayFeatureType.hinge);

The open question

Whether the iOS embedder populates displayFeatures from Apple’s reservedRegions API is not something we can confirm from Apple’s material, and Flutter has announced nothing. Until it does, assume displayFeatures is empty on iPhone Duo and verify on a real build before relying on it.

If it turns out to be unpopulated, the same options apply as for React Native: a platform channel wrapping the Swift API, or accept fold-unaware but correct layout.

What works regardless

Flutter’s layout system is resolution-independent and adapts to any size, so the core migration is the familiar one:

Since the inner display is regular-width in both dimensions, the tablet breakpoints most Flutter apps already have are usually the right layout to serve.

Full analysis: Flutter on iPhone Duo.

Checklist items that apply to Flutter

Open the full checklist