Prepare Your App for iPhone Duo
Source: Prepare your app for iPhone Duo (Apple Developer) · 10 min
iPhone Duo is Apple's first folding, multi-display iPhone. The good news for developers: your existing iPhone app already runs on it. The better news: with a little work you can make it feel built for the device instead of just ported over.
This is the foundational session of the iPhone Duo series — it tells you exactly what to do and in what order. Here's the practical rundown.
What works out of the box
Built with the iOS 27 SDK or earlier, your app already runs on iPhone Duo:
- Closed — your app uses the space to the left of the status bar and camera.
- Open — your app runs at a familiar iPhone size and aspect ratio.
So nobody is blocked. Making it shine is a follow-up step, not a prerequisite.
Three things unlock the full experience
- Build with the iOS 27.1 SDK / Xcode 27.1. This lets your app extend all the way to the edge of the inner display. Standard navigation and toolbar buttons now lay out vertically under the status bar.
- Use the iPhone Duo simulator in Device Hub. The control buttons at the bottom let you open, close, rotate, and fold the device — so you can actually test every pose.
- Follow flexible-layout best practices. Duo's whole point is that your app resizes to fit whatever pose it's in: opened, closed, rotated, or folded.
Adapt with size classes, not device checks
Don't hard-code for "the fold." Extend what you already do for resizability:
- SwiftUI: read size classes from the environment; UIKit: from the trait collection.
- The outer display is like a normal iPhone: regular vertical + compact horizontal in portrait.
- The inner display has more room, so it's regular in both dimensions — enough space to show sidebars.
- Avoid
interfaceOrientationfor layout decisions and avoid referencingmain screen— two displays makes it ambiguous (and it'll be deprecated). Use the environment, trait collection, or the scene's bounds instead. If you must access the screen, get it dynamically from the window scene.
Safe areas: expect asymmetry
Safe areas on iPhone Duo are often not equal on both sides — horizontal controls can live only on the left (landscape, split view). Rules to follow:
- Keep foreground content (interactive controls) in the safe area; let background art extend full-bleed behind bars.
- Handle each side independently — never assume insets match on opposite edges.
- Same for layout margins: they're asymmetric so foreground content can hug the side controls while keeping the margin on the opposite side.
- Test in Split View multitasking — drag your app to either side in Device Hub and check the vertically laid-out content works on both sides.
Can't fit in the safe area? Use Reserved Regions
New in iOS 27.1: ReservedRegions (SwiftUI) / UIViewReservedRegion (UIKit) let your custom UI use the maximum screen space without colliding with system UI. Great for building custom bars or edge-to-edge layouts that adapt to the fold.
The lazy path to correctness
Apple ships an App Resizability skill (renamed from the "Modernize Your UIKit App" skill, now SwiftUI + iPhone Duo aware). Run it on your project and it audits your app against all of these best practices for you.
Quick checklist
- Build with Xcode 27.1 / iOS 27.1 SDK
- Run the app in the iPhone Duo simulator and test all poses (open, close, rotate, fold)
- Layout driven by size classes, not device/orientation checks
- Foreground in the safe area, background full-bleed, sides handled independently
- Use ReservedRegions for custom bars
- Run the App Resizability skill
Happy folding. → Deep-dives on screens/multitasking, adaptive layouts, vertical bars, and camera are in the rest of this series.