Get your app ready for iPhone Duo: the simulator checklist
A step-by-step checklist for testing an iOS app in the iPhone Duo Simulator — SDK versions, full-screen opt-in, poses, Split View and asymmetric safe areas.
No one outside Apple has iPhone Duo hardware yet, so the simulator is the device. Here’s how to use it to be ready on launch day.
1. Get the right tools
- Install Xcode 27.1 and build against the iOS 27.1 SDK.
- Open Device Hub and choose the iPhone Duo simulator.
The SDK version changes how your app is laid out:
| Built with | On the inner display |
|---|---|
| iOS 27 SDK | Your app extends to the left of the status bar |
| iOS 27.1 SDK | Your app extends to the screen edge, and standard navigation and toolbar buttons lay out vertically |
UIRequiresFullScreen is still honored, but your app will still resize when someone opens or closes the phone. Plan for that.
2. Walk through every pose
The Device Hub controls can open, close, rotate and fold the simulated device. For each screen in your app:
- Closed (outer display, compact width)
- Open (inner display, regular width and height)
- Rotated, in both directions
- Partially folded: are buttons pushed clear of the crease?
- Open and close in the middle of a task: is scroll position kept, is text input kept, does anything reload?
3. Test Split View on both sides
On the inner display, drag your app by the home indicator to one side, then to the other. Check that:
- The layout works at 50% width.
- Controls move to the outer edge, left or right.
- Nothing assumes your app is on the left.
4. Stop reading the screen size
- Use
horizontalSizeClass/verticalSizeClass(SwiftUI environment or UIKittraitCollection), not interface orientation. - Get the screen from your window scene (
window?.windowScene?.screen), not a global “main screen”. There are two screens now. - Use
NavigationSplitView/UISplitViewControllerandTabViewwith.defaultTabBarPlacement(.sidebar)to get adaptive navigation for free.
5. Handle asymmetric safe areas
Safe areas on iPhone Duo are often different on each side. Measure each side separately:
// ✓ Correct — handles each edge independently
let width = view.bounds.inset(by: view.safeAreaInsets).width
// ✗ Assumes left == right
let width = view.bounds.width - view.safeAreaInsets.left * 2
Keep interactive content inside the safe area. Background art can ignore it (ignoresSafeArea() in SwiftUI).
6. Record it and tell people
Once it works, record the simulator (open → fold → Split View) and submit it to FoldHunt. Apps with a short clip or GIF get far more clicks, and a screen recording is the best proof you have until real devices ship.
Keep reading
Designing for iPhone Duo: 8 rules from Apple's design session
Apple's design guidance for its first foldable, condensed — poses, size classes, side-mounted controls, fold avoidance, sheets and Split View.
iPhone Duo screen sizes, resolutions & dimensions
Exact outer and inner display sizes, pixel resolutions, pixel density and physical dimensions for iPhone Duo — the numbers designers need before launch.