iPhone Duo simulator: get it, fold it, test your app
How to get Apple's iPhone Duo simulator, fold it to any pose or hinge angle, and test your app, plus the simulators you can try without a Mac.
iPhone Duo went on sale on October 23, but US delivery estimates moved to January minutes after pre-orders opened, so for most developers the simulator is still the device. This page covers getting Apple’s iPhone Duo simulator, folding it, and the pass to run your app through. The layout rules are in the design, vertical bar, and fold guides.
In short
- Apple’s iPhone Duo simulator comes with Xcode 27.1, released on October 15, which needs an Apple silicon Mac on macOS Tahoe 26.6 or later. Download the iOS 27.1 simulator runtime too, then pick iPhone Duo in Device Hub.
- No Mac, or just want to see it fold? Other simulators stream Apple’s, or draw their own.
- Build with the iOS 27.1 SDK, and check the binary really links against it.
- Walk every screen closed, open, turned, partly folded, and through a fold in the middle of a task.
- Drag the app to both sides of Split View.
- Measure each safe-area edge on its own. They differ, and they change when the bars move.
- When something looks broken, decide whether it is your bug or Xcode’s before you code around it.
Get the iPhone Duo simulator
The simulator is part of Xcode 27.1. Apple released the beta on September 18, a release candidate on October 5, the day App Store submissions for iPhone Duo opened, and the final version on October 15. You need:
- A Mac with Apple silicon. Intel Macs can’t run it.
- macOS Tahoe 26.6 or later.
- Xcode 27.1, from Apple’s developer site. You can install it next to your current Xcode instead of over it. Use the released version; the beta and the release candidate are no longer needed.
- The iOS 27.1 simulator runtime, a separate download of about 8 GB. Get it in Xcode Settings, under Components, or with
xcodebuild -downloadPlatform iOS. iPhone Duo is missing from the run destinations until it’s installed. The device does not appear just because Xcode itself updated.
Then open Device Hub, choose iPhone Duo, and run your app on it. The first launch can take several minutes. Wait for it before you decide the app is broken.
Folding it. Device Hub has buttons for three poses, Closed, Book and Open, plus one that rotates the phone a quarter turn. Hold the Option key for a slider that sets the exact hinge angle. Jeremy Sequoia pointed that out. You do not need a hidden defaults command to fold the phone. To fold from a script or a test, Artem Novichkov reverse-engineered that slider into a small command-line tool. The guide to adapting an app with Claude Code or another coding agent has a free kit that lets an agent fold, turn, capture and tap the simulator by itself.
Build with the iOS 27.1 SDK. The SDK changes the layout you are looking at:
| Built with | On the inner display |
|---|---|
| Xcode 26 | An iPhone-shaped panel, letterboxed. It does not react to seated pose. |
| iOS 27 SDK | The app can extend to the left of the status bar. Resizability is on, and you cannot opt out of it. |
| iOS 27.1 SDK | The app extends to the screen edge, and standard navigation and toolbar buttons lay out vertically. |
UIRequiresFullScreen is still honored, but the app still resizes when someone opens or closes the phone. Plan for that.
Make sure the binary really says 27.1. Blake Crosley built a probe with swiftc by hand, and the linker quietly stamped it as an iOS 27.0 app: it got a boxed window with horizontal bars and no reserved regions, and the post carried those numbers until Blake caught it. The cause was swiftc -sdk without SDKROOT exported, which fell back to the macOS SDK’s version. Xcode builds are stamped correctly. For anything built another way, export SDKROOT first, then check the result:
otool -l MyApp.app/MyApp | grep -A4 LC_BUILD_VERSION
# platform 2 (iOS), minos …, sdk 27.1
Before this simulator existed, Apple’s engineers suggested finding ordinary layout bugs on a resizable iPhone, including iPhone Mirroring on a Mac. That still catches hardcoded widths. It does not catch the vertical bar, the crease, or the uneven insets. Those need Duo.
Walk through every pose
The Device Hub controls can open, close, rotate, and fold the simulated device. For each screen:
- Closed, on the outer display, at a compact width
- Closed and turned sideways, where the outer display is compact in both width and height
- Open, on the inner display, at a regular width and height
- Rotated, both directions, including when the app is portrait-locked. The lock applies to the outer display. The inner display can still turn.
- Partly folded. Are buttons clear of the crease?
- Open and close in the middle of a task. Does scroll position hold? Does the text field hold? Does the screen reload or swap to a different root?
- If the app reads the hinge, sweep the angle both slowly and quickly with the Option slider, as the hinge guide describes.

Nikolozi, whose music app Mela has a fully custom interface, counted eleven layouts once the asymmetries are included: four closed, two half open, two fully open, two in Split View, and a portrait split with video on top and the app below. Asking a coding model to adapt Mela went badly. A stock SwiftUI app will not need eleven designs. A hand-drawn one might need eleven checks.
If your app's UI is fully custom, you have to deal with 11 completely new layouts due to iPhone Duo's asymmetries. 4 - when closed 2 - half open 2 - fully open 2 - split-screen multitasking 1 - split-screen portrait, video at the top, app at the bottom Did I miss any?
Test Split View on both sides
On the inner display, drag the app by the home indicator to one side, then to the other.
- The layout works at half width. The split stays 50/50. People cannot drag the divider to favor one app.
- Controls move to the outer edge, left or right, depending on which half you occupy.
- Nothing assumes the app is on the left.
- Dragging from one half to the other does not leave a control under the divider or off the glass.

As you drag, watch the safe area and the bar, not just the content. The side that holds the controls changes with the half you land on.
Stop reading the screen size
- Use
horizontalSizeClassandverticalSizeClass, not interface orientation, when you choose a navigation structure. - When you need a pixel count, read the view’s bounds, or the screen from the window scene (
window?.windowScene?.screen). There are two screens.UIScreen.mainis the wrong one often enough to retire it. - Prefer
NavigationSplitVieworUISplitViewControllerfor a list and detail. A three-column iPad layout usually shows two columns here, with the sidebar available as an overlay. The system version also resizes when the device is partly folded.
Handle uneven safe areas
Insets on Duo are often different on each side, and they change when the bars move. Measure each edge.
// Each edge stands on its own.
let width = view.bounds.inset(by: view.safeAreaInsets).width
// This assumes left and right match. They often do not.
let width = view.bounds.width - view.safeAreaInsets.left * 2
Davyd posted a concrete case: top 0, left 0, right 84, bottom 34. Gautham Vijayan’s library reads the same numbers on the closed display in portrait, where the vertical bar takes the right side. Those numbers are one pose, not a constant. They are what “uneven” looks like.
By the way, here’s how 𝚂𝚊𝚏𝚎 𝙰𝚛𝚎𝚊 𝙸𝚗𝚜𝚎𝚝𝚜 look on the 𝗶𝗣𝗵𝗼𝗻𝗲 𝗗𝘂𝗼 📱 { "𝚋𝚘𝚝𝚝𝚘𝚖": 𝟹𝟺, "𝚕𝚎𝚏𝚝": 𝟶, "𝗿𝗶𝗴𝗵𝘁": 𝟴𝟰, "𝚝𝚘𝚙": 𝟶 }
Keep interactive content inside the safe area. Background art can ignore it. Ignoring the horizontal edges specifically, ignoresSafeArea(.horizontal) or edgesIgnoringSafeArea(.horizontal), now slides a background under the side controls. Vilteros called this out while adapting existing apps. A full-bleed photo is fine. A button in that strip is not.
Also check layout margins. Maximilian, replying to Harshil, saw default container margins come back as 0 and hoped it was a beta bug. Read contentMargins rather than a padding constant, and look at the result in both poses before you “fix” it with a magic number.
One more string to search for: “Face ID”. iPhone Duo signs in with Touch ID in the side button, so a prompt that names Face ID because you typed it is wrong on this phone. Ask LAContext.biometryType and use whatever the device reports.
Exercise the system UI, then your own
For every primary screen, open and fold while these are on screen:
- A sheet, including one you place on the trailing side. In the 27.1 beta, Natalia Panferova saw trailing sheets fail to take a vertical toolbar, with the close button under the status display. Setting
presentationDetents([.large])cleared it in Natalia’s testing, as a beta workaround, not a documented requirement. Details are in the vertical bar guide. - An alert with a text field. Emre Degirmenci sees the native SwiftUI alert field break when the appearance or the pose changes. That is a simulator bug to file, not a layout to code around.
another iphone duo simulator bug on the native SwiftUI alert texfield when the appearance or pose changed
- The keyboard, a context menu, and a popover.
- A floating button, a custom tab bar, and any player controls. The system will not move these for you.
- Dynamic Type at the largest size, a long localized string, right to left, Dark Mode, and Reduce Transparency. Reduce Transparency changes what shows through the vertical bar.
Don’t trust every recording
EchoPod’s developer started adapting a side navigator and tried to record the fold in Device Hub. After the phone opened, the recording was black. If a capture comes back empty, look at the simulator with your eyes before you change the layout. The same rule covers the alert field and the trailing sheet: decide whether you are looking at your bug or Xcode’s.
EchoPod 开始适配 iPhone Duo 侧边导航栏了,吐槽下模拟器的录像功能,以为是可以录展开折叠屏的app 内容变化,结果点击展开后录的是黑屏,apple 家东西是越来越糊弄人了
UI tests have a related trap. Daniel Bernal, building FlowDeck, found that the cover and the inner display use separate framebuffers and touch paths. A hinge move or a rotation can switch the active path without telling you, and the next tap misses. Raul hit the small version of this: an accessibility query for the Back button no longer matched. After a pose change, retarget the display you mean to hit.
One thing the simulator can’t do at all is run a capture session. Switching between the front cameras and the outer-display camera accessory has to be tested on a real iPhone Duo. The camera guide lists what to check on it.
Record it and tell people
Once it works, it can go to the App Store: submitting an iPhone Duo app covers the build, the new screenshot sizes and the April 2027 rule. Then record a clip you have actually watched (open, fold, Split View) and send the app to FoldHunt. A short clip is the best proof you have, and it is what people click on. One recorded on a real iPhone Duo is listed as Device verified.
No Mac? Other ways to try a Duo
Apple’s simulator only runs on a Mac. These alternatives cover other setups. Know which kind you are using: only the first runs your real iOS app on Apple’s simulator.
- VibeView streams Apple’s own iPhone Duo simulator from its Macs to a browser tab, so it works on Windows and Linux too. Fold it to Closed, Partial or Open, drag to any hinge angle, rotate it, and let a coding agent do the same through its command-line tool. Its own notes say an app built with a stable Xcode opens in a phone-sized window on the inner display. To fill the screen, upload a build made with the iOS 27.1 SDK.
- Bitrig, an AI app builder for Mac and iPhone, added its own interactive 3D iPhone Duo on September 19. You can fold it shut, open it flat, half-fold it and stand it up, and the app you built in Bitrig responds as you move it. It’s Bitrig’s simulator, not Apple’s, and it runs apps made in Bitrig.
- Duo by Thanh Doan is a desktop folding-phone playground inspired by iPhone Duo, with a preview in the browser. It is not an iOS simulator: apps built for it run only inside it.
- Just want to see the poses? The model on our home page folds between closed, open, seated and standing. Drag it, or pick a pose.
Once your app runs on Apple’s simulator, Matte records both screens and every fold in one take, and turns the folds into animations on a 3D Duo for a demo video.
Keep reading

Adapt your app for iPhone Duo with a coding agent
Adapt an iOS app for iPhone Duo with Claude Code or Codex: script the Xcode 27.1 simulator to fold, rotate and screenshot it, and use measured layout rules.

Submit your iPhone Duo app to the App Store
Apple opened App Store submissions for iPhone Duo apps on October 5. Which Xcode to build with, the new screenshot sizes, the April 2027 rule, and how to tell the App Store your app is ready for the fold.

iPhone Duo for React Native, Flutter and the web
What the fold looks like from React Native, Flutter, a web page and a WebView. What every stack gets for free, which bridges expose the hinge and the fold, and what still needs Xcode.