Developers
How to Prepare Your App for iPhone Duo: A Prioritized Checklist
A prioritized checklist to prepare your app for iPhone Duo: size classes, safe areas, the iOS 27.1 SDK, vertical bars, ArrangementView, the hinge and testing.
By AppleDuo EditorialPublished 9 min read
On this page
- What happens to apps built with older SDKs on iPhone Duo?
- What is the checklist to prepare an app for iPhone Duo?
- How do I fix size classes, layout margins and safe areas first?
- How do I get the full-screen iPhone Duo experience?
- How do toolbars, the vertical bar and sheets change?
- Which containers and APIs handle the fold for me?
- How do I test iPhone Duo poses and use Xcode's agent skills?
- What App Store assets do I need for iPhone Duo?
- Key takeaways
iPhone Duo went on sale on October 23, 2026, with iOS 27.1. If you need to prepare your app for iPhone Duo, you are adapting to two displays, a hinge, a camera on the side and bars that move to the edge. That is a lot of surface area, so this checklist puts the work in order: the fixes that help every app first, then the device-specific polish.
This post is the hub for our iPhone Duo developer series. Each step links to a deeper guide. It's based on Apple's Tech Talks, Apple's iPhone Duo pages, the Apple Developer Forums and reports from developers. The AppleDuo team hasn't tested these APIs on hardware, and most of them are new in iOS 27 or iOS 27.1, so details may change between releases.
What happens to apps built with older SDKs on iPhone Duo?
Your app already runs on iPhone Duo. What it looks like depends on the SDK you built it with. Apple's iPhone Duo preparation page describes three tiers:
| Built with | Inner display (open) | Outer display and bars |
|---|---|---|
| iOS 26 SDK or earlier | Centered, with empty space around it | Content sits to the left of the status bar and camera |
| iOS 27 SDK | Fills most of the display but avoids the status bar on the right edge | Partial adaptation |
| iOS 27.1 SDK or later | Fills the full display | Toolbars and tab bars move vertically below the status bar |
Apple's guidance is to make sure your content adapts to vertical bars before you ship with the 27.1 SDK. Waiting is not a long-term option either: Apple says that starting in April 2027, App Store uploads must use the iOS 27 SDK or later.
What is the checklist to prepare an app for iPhone Duo?
Here is the order we recommend, based on how much each step fixes for the effort. The first three are what Sarun Wongpatcharapakorn suggests if you have limited time to adapt your app.
| Priority | Step | Introduced in | Deep dive |
|---|---|---|---|
| 1 | Use size classes, not idiom or orientation | Existing API | iPhone Duo size classes |
| 2 | Respect layout margins and asymmetric safe area insets | Existing API; new margin options in iOS 27 | Safe areas and content margins on iPhone Duo |
| 3 | Build with Xcode 27.1 and the iOS 27.1 SDK | Xcode 27.1 | This post |
| 4 | Give toolbar items an icon and a title | iOS 27.1 SDK (vertical bars) | The iPhone Duo vertical toolbar |
| 5 | Check sheet placement | iOS 27 SDK | Sheets and presentationPlacement on iPhone Duo |
| 6 | Use system containers and ArrangementView | iOS 27.1 | ArrangementView in SwiftUI |
| 7 | Keep hand-placed controls out of reserved regions | iOS 27.1 | Reserved regions and the fold |
| 8 | Add hinge effects where they help | iOS 27.1 | Hinge states and onHingeChange |
| 9 | Test every pose in Device Hub | Xcode 27.1, more in 27.2 | This post |
| 10 | Ship iPhone Duo screenshots | App Store Connect, October 2026 | App Store screenshot sizes for iPhone Duo |
How do I fix size classes, layout margins and safe areas first?
Size classes drive most of the layout on iPhone Duo. Apple's Prepare your app for iPhone Duo Tech Talk lists them: the outer display is compact width and regular height in portrait, and compact in both directions in landscape. The inner display is regular in both directions. As Sarun puts it, folded it's an iPhone, unfolded it's an iPad.
The catch is that many apps read regular width as "this is an iPad". Apple's preparation page says not to: iPhone apps can now have any size class combination, so branch on the size class itself, not on the device idiom, orientation or a hard-coded height. This SwiftUI view reads the environment and picks a layout:
struct LibraryView: View {
@Environment(\.horizontalSizeClass) private var horizontalSizeClass
var body: some View {
if horizontalSizeClass == .regular {
TwoColumnLibrary()
} else {
SingleColumnLibrary()
}
}
}
Safe areas are the second fix. On iPhone Duo, vertical bars add leading and trailing insets, and Apple warns that opposite insets aren't equal. Layout margins are asymmetric too. Sarun notes that the margins can be 20 points on one side and 0 next to the bar. This UIKit pattern from the Tech Talk handles each side on its own:
// Avoid: assumes the leading and trailing insets match
let width = view.bounds.width - view.safeAreaInsets.left * 2
// Preferred: insets each edge by its own value
let width = view.bounds.inset(by: view.safeAreaInsets).width
Keep interactive content inside the safe area and let backgrounds extend past it. Our guide to iPhone Duo size classes has the full pose table, and safe areas and content margins on iPhone Duo covers the new margin APIs.
How do I get the full-screen iPhone Duo experience?
Recompile with Xcode 27.1, which adds development support for iPhone Duo and the iOS 27.1 SDK. Apple's Tech Talk says Xcode 27.1 is required for the full-screen experience. Before you do, clear out the patterns Apple's preparation page lists:
- Replace
UIScreen.main.boundswithview.boundsorwindow.bounds. Apple callsUIScreen.mainambiguous on a device with two displays and says it will be deprecated. Read scale fromtraitCollection.displayScale. - Replace
UIWindow(frame: UIScreen.main.bounds)withUIWindow(windowScene:). Blake Crosley and Adapty both report that apps built with the latest SDK need the scene-based life cycle. - Remove layout logic based on
UIDevice.current.orientationorinterfaceOrientation. Compare the width and height of the space you have instead. - Check full-bleed images and video that use aspect fill. The inner display's shape can crop more than you expect.
What about UIRequiresFullScreen? Apple says iPhone Duo still honors it, but your app still resizes when the device opens or closes. It is not an escape hatch. On the inner display, the system also ignores your supported interface orientations and scales the app.
On the Apple Developer Forums, an Apple evangelist gave the same advice in thread 848047: use size classes instead of device checks, and support all orientations, since iPhone apps can now resize on iPad and on Mac through iPhone Mirroring.
How do toolbars, the vertical bar and sheets change?
With the iOS 27.1 SDK, navigation bars, toolbars and tab bars move to a vertical bar along one edge on the outer display and on the inner display in landscape. Apple's Raise the bar with iPhone Duo Tech Talk explains the rules. Only bars owned by navigation containers move, so custom UIToolbar, UINavigationBar or UITabBar instances stay where they are.
The vertical bar has a fixed width, so it favors symbols. Items with an icon move to the vertical axis, and text-only items stay horizontal. Sarun's summary is simple: give toolbar items both an icon and a title, and you are probably ready. The title is still used in overflow menus. The placements and modifier below are spelled as Apple's Tech Talk shows them. .topBarPinnedTrailing is new in iOS 27:
.toolbar {
ToolbarItem(placement: .cancellationAction) {
Button("Close", systemImage: "xmark") { dismiss() }
}
ToolbarItem(placement: .topBarPinnedTrailing) {
Button("Done", systemImage: "checkmark") { save() }
}
ToolbarItem {
Button("Share", systemImage: "square.and.arrow.up") { share() }
}
.visibilityPriority(.high)
}
Back or Close goes at the top, then the prominent action, then the rest. When space runs out, items overflow from the bottom up, and .visibilityPriority decides which survive. A single-page, bottom-heavy layout like Calculator can opt out with .toolbarVerticalBehavior(.disabled). Our guide to the iPhone Duo vertical toolbar covers overflow, custom views and the UIKit equivalents.
Sheets change too. On the outer display, a sheet's toolbar is vertical. On the inner display, sheets are centered by default and can sit on the leading or trailing side. Read sheets and presentationPlacement on iPhone Duo for the details.
Which containers and APIs handle the fold for me?
Start with system containers. NavigationSplitView and UISplitViewController collapse to a single stack when closed and show columns when open. TabView adapts to every pose, and on the inner display you can opt in to a sidebar with .defaultTabBarPlacement(.sidebar). List and ScrollView adapt to the fold automatically.
For custom two-view layouts, iOS 27.1 adds ArrangementView in SwiftUI and UIArrangementViewController in UIKit, covered in Strike a pose with adaptive layouts on iPhone Duo. The .split style divides the space between two views, and .overlay stacks them until the device folds. Don't put an ArrangementView inside a List, a ScrollView or another navigation container. See our ArrangementView guide.
For controls you place by hand, query reserved regions, also new in iOS 27.1. A division region marks the fold, and an occlusion region marks the inner FaceTime camera while it's active. Apple shows the SwiftUI call as proxy.reservedRegions(kind: .division) inside a GeometryReader. Our post on reserved regions and the fold explains active and inactive regions.
The hinge itself is for effects, not layout. onHingeChange in SwiftUI and UIHingeInteraction in UIKit, both listed as iOS 27.1 in Apple's documentation, report closed, partially open and fully open states plus a continuous angle. The hinge value is nil on devices without one, so always check it. For ideas, see how Marbles Unhinged turns the fold into a ramp, then read hinge states and onHingeChange.
How do I test iPhone Duo poses and use Xcode's agent skills?
Select the iPhone Duo simulator in Xcode 27.1 and run your app in Device Hub. Use the on-screen controls to open, close, rotate and fold the device, and check each pose: closed portrait, closed landscape, open in portrait and open in landscape. Apple also suggests dragging the app into Split View on one side, then the other, to confirm vertical content works on both. Check right-to-left languages as well, since the vertical bar stays on the same hardware side.
Sarun reports that Xcode 27.2's Device Hub can also fake memory pressure, slow-motion animations, a shake and a fall. Those are useful for checking that state survives a fold under load.
Xcode 27 also includes agent skills for modern best practices and new APIs. Apple's preparation page says you can ask Xcode's coding assistant to "get my app ready for iPhone Duo". To use the skills with another coding agent, export them with the command Sarun shared:
xcrun agent skills export --output-dir ~/Downloads/xcode-skills
If you exported the skills before Xcode 27.1, export them again. The uikit-app-modernization skill is now app-resizability, and it adds SwiftUI and iPhone Duo support. Apple notes that the skill doesn't catch everything, so review the patterns above by hand.
What App Store assets do I need for iPhone Duo?
App Store Connect has an iPhone Duo screenshot slot with separate sizes for the outer and inner displays. When you submit iPhone Duo screenshots, your product page shows a badge saying the app is optimized for iPhone Duo. Apple says the screenshots will be required starting in April 2027. Our guide to App Store screenshot sizes for iPhone Duo has every slot size and what to show in the first three frames.
Two more items round out a launch. Apple suggests submitting a featuring nomination in App Store Connect and noting iPhone Duo support, including all device poses. Apadmi also recommends auditing your App Intents coverage. With Siri's new abilities in iOS 27, our guide to App Intents and the semantic index in iOS 27 is a good next project. For inspiration, browse the games on Built for the fold, which use the hinge as part of play.
Key takeaways
- Apps built with the iOS 26 SDK or earlier run but look letterboxed when open. Only the iOS 27.1 SDK in Xcode 27.1 fills the display.
- Fix size classes, layout margins and safe area insets first. Never assume regular width means iPad, or that opposite insets match.
- Give every toolbar item an icon and a title, and use system bars so they can move to the vertical bar.
- Use NavigationSplitView, TabView and ArrangementView for layout, reserved regions for hand-placed controls, and the hinge only for effects.
- Test every pose in Device Hub, re-export Xcode's agent skills after 27.1, and add iPhone Duo screenshots before April 2027.
Start with iPhone Duo size classes, then move on to the vertical toolbar. When your app is ready, the about page explains how to get your iPhone Duo game featured.
Frequently asked questions
Do existing apps run on iPhone Duo without changes?
Yes. Apps built with the iOS 26 SDK or earlier run, but when the device is open they appear centered with empty space around them. Only apps built with the iOS 27.1 SDK or later fill the whole display.
Which Xcode version do I need for iPhone Duo?
Xcode 27.1 adds development support for iPhone Duo, including the iPhone Duo simulator in Device Hub and the iOS 27.1 SDK. Xcode 27.2 adds more Device Hub simulations, such as memory pressure and a fall.
What should I fix first for iPhone Duo?
Fix size classes, layout margins and safe area insets first. Stop branching on device idiom or orientation, and don't assume the leading and trailing insets are equal.
Does UIRequiresFullScreen opt my app out of iPhone Duo resizing?
No. Apple says iPhone Duo still honors UIRequiresFullScreen, but the app still resizes when the device opens or closes. Plan for resizing either way.
When do I have to support iPhone Duo on the App Store?
Starting in April 2027, Apple requires uploads to use the iOS 27 SDK or later and says submissions will need iPhone Duo screenshots. Until then, iPhone Duo screenshots are optional but add a badge to your product page.
Sources
- Prepare your app for iPhone Duo · Apple Developer (Tech Talks)
- Strike a pose with adaptive layouts on iPhone Duo · Apple Developer (Tech Talks)
- Raise the bar with iPhone Duo · Apple Developer (Tech Talks)
- Leverage multiple displays and scenes on iPhone Duo · Apple Developer (Tech Talks)
- iPhone Duo: Three steps to make your app shine · Apple Developer
- Prepare and submit your apps for iPhone Duo · Apple Developer News
- Recommended source of truth for adapting UIKit layouts on iPhone Duo · Apple Developer Forums
- Start with size classes, layout margins, and safe area insets · Sarun W. (@sarunw) on X
- Export Xcode 27 agent skills · Sarun W. (@sarunw) on X
- Re-export agent skills after Xcode 27.1 · Sarun W. (@sarunw) on X
- Xcode 27.2 Device Hub simulations · Sarun W. (@sarunw) on X
- Give toolbar items both an icon and a title · Sarun W. (@sarunw) on X
- iPhone Duo for developers · Blake Crosley
- How to adapt your iOS app to iPhone Duo · Adapty
- iPhone Duo: what now for your app? · Apadmi
Make the fold part of your app.
We showcase apps and games that do something real with iPhone Duo. Send us yours with a link to it on the App Store, or see what other developers have built.