On this page · 13 sections
- 1. Decide which SDK you are building against
- 2. Get the simulator, and know the documentation disagrees
- 3. Stop deciding layout from orientation
- 4. Remove references to the main screen
- 5. Handle safe areas as four independent numbers
- 6. Adopt standard navigation, and take the sidebar
- 7. Test Split View, because every app is in it
- 8. Know what is optional
- 9. Two items from the release notes worth flagging to other teams
- What this actually costs
- FAQ
- How eCorpIT can help
- References
Summary. iPhone Duo was announced on 9 September 2026, pre-orders open 16 October 2026, and it ships on 23 October 2026 running iOS 27.1. Apple is explicit that existing apps run on it without recompiling, so there is no emergency. What there is instead is a graded set of improvements, one deprecation warning, and a handful of long-standing assumptions that a two-display device finally breaks. This checklist is ordered by what returns the most screen for the least work, and every item is drawn from Apple's own developer sessions rather than from launch coverage.
One framing note before the list. Nothing here is a compliance deadline. Apple's announcement contains no App Store policy, no submission requirement and no date by which apps must adopt anything. That is a meaningful contrast with the Google Play API 36 floor, which does gate submission, and it means iPhone Duo work is scheduled against your competitors rather than against a policy clock.
1. Decide which SDK you are building against
This is the first decision and it is graded, not binary. In Prepare your app for iPhone Duo, Apple states that your app "runs on iPhone Duo even without recompiling, but screen usage improves with each SDK. The iOS 27 SDK extends your app left of the status bar on the inner display; the iOS 27.1 SDK reaches the screen edge and lays standard navigation and toolbar buttons out vertically."
Build target | Inner display result | Effort ---|---|--- No recompile | Runs in compatibility presentation | None iOS 27 SDK | Extends left of the status bar | Rebuild and regression test iOS 27.1 SDK | Full screen edge, vertical bar layout | Rebuild plus a layout audit
Build against iOS 27.1 unless something blocks you. It is the same version the device ships with, and it is the floor for the layout APIs covered below.
2. Get the simulator, and know the documentation disagrees
Apple's Tech Talk says to "Download Xcode 27.1 and run your app in the iPhone Duo simulator using DeviceHub", with on-screen controls to "open, close, rotate, and fold the device to check your layout in every pose."
Apple's newsroom release, published the same week, says something different. It states that developers can adapt their apps "using the new and updated APIs in the latest SDKs, and upcoming support for iPhone Duo in Device Hub in Xcode." Upcoming, not available.
Both statements are live on Apple's own properties as of 12 September 2026. The developer session is the more specific and more recent of the two and names a version number, so that is the one to act on, but if Device Hub does not show the device in your install, the newsroom wording is the reason and you are not misconfigured. Check your Xcode version before you debug anything else.
3. Stop deciding layout from orientation
This is the item that breaks the most existing code, and it is not really about foldables at all.
Apple states that on iPhone Duo "the outer display behaves like other iPhone models, while the inner display is regular in both dimensions, leaving room for sidebars." Then the sharp part: "The inner display doesn't honor supported interface orientations, so use size classes rather than orientation for layout decisions."
An app that branches on orientation has no reliable signal on the inner display. Read size classes instead:
// SwiftUI
@Environment(\.horizontalSizeClass)
private var horizontalSizeClass
@Environment(\.verticalSizeClass)
private var verticalSizeClass
// UIKit
traitCollection.horizontalSizeClass
traitCollection.verticalSizeClass
The same direction appears in the WWDC26 session Modernize your UIKit app, which states that the user interface idiom trait is no longer meaningful for layout decisions and that supported interface orientations are ignored in resizable environments. Size classes replace both checks. Apple's Layout guidance in the Human Interface Guidelines puts it plainly: determine layout based on size classes, not device type or orientation.
4. Remove references to the main screen
Apple is direct that this is on the way out: on a two-display device the main screen is ambiguous and "will be deprecated." Access the screen from the window scene instead.
// Avoid referencing the main screen on a two-display device.
// Access the screen dynamically from the window scene instead.
let screen = window?.windowScene?.screen
The most common real occurrence is a scale factor, usually buried in image or thumbnail code. Apple's own before-and-after is exactly that:
func updateThumbnail(from image: UIImage) {
// Before
let screenScale = UIScreen.main.scale
// After
let screenScale = traitCollection.displayScale
// ...
}
Grep your codebase for UIScreen.main and treat every hit as a defect. This is cheap, mechanical work that pays off across iPad and iPhone Mirroring too, not only on Duo.
5. Handle safe areas as four independent numbers
Apple states that safe areas and layout margins "are often asymmetric on iPhone Duo", which invalidates a very common shortcut. Code that computes width by doubling one inset produces the wrong answer:
// Avoid assuming insets on opposite sides are equal
let width = view.bounds.width - view.safeAreaInsets.left * 2
// Handle each side independently
let width = view.bounds.inset(by: view.safeAreaInsets).width
The accompanying rule is about what belongs inside the safe area and what does not. Keep interactive foreground content inside it, and let background artwork extend past it:
// SwiftUI
.ignoresSafeArea()
// UIKit
backgroundView.frame = view.bounds
Standard bars lay out outside the safe area and already avoid the status bar and camera, so an app on system bars inherits most of this.
6. Adopt standard navigation, and take the sidebar
Apple states that NavigationSplitView, UISplitViewController, TabView and UITabBarController "are fully adaptive across every pose", with columns collapsing when closed and tiling or overlaying when open. Sheets, popovers, context menus and alerts adapt as well.
The inner display is regular in both dimensions, which means it has room for a sidebar. Opting in is a one-line change:
// SwiftUI
TabView { … }
.defaultTabBarPlacement(.sidebar)
// UIKit
tabBarController.sidebar.preferredPlacement = .sidebar
While you are there, match the screen corners using the Concentricity APIs introduced in iOS 26:
// SwiftUI
ConcentricRectangle()
.fill(Color.green)
.padding(8.0)
.ignoresSafeArea()
// UIKit
// UICornerConfiguration
7. Test Split View, because every app is in it
Apple's newsroom release states that "Split View allows users to open two apps side by side on iPhone for the first time." The developer guidance adds that all apps participate in multitasking on iPhone Duo, and that an app already supporting resizing on iPad or iPhone Mirroring is well positioned.
This is worth emphasising to product owners: you do not opt in to Split View, and you cannot opt out of being placed in it. If your app has never been resized, this is the first time it will be, and it is where undiscovered layout assumptions surface. Apple also notes a new layout that stacks video and apps together, handled the same way through size classes and scene geometry.
8. Know what is optional
Three capabilities are genuinely optional and should be scoped separately rather than folded into a readiness pass.
Capability | What it does | When to bother ---|---|--- Arrangements | Split or overlay layout for two custom views | Custom two-pane UI Reserved regions | Query the hinge and camera as layout regions | Manually laid out controls Hinge APIs | Live hinge angle and status for effects | Interactive experiences
Arrangements and reserved regions are covered in depth in our iPhone Duo adaptive layout guide. The hinge APIs, onHingeChange in SwiftUI and UIHingeInteraction in UIKit, are explicitly not for layout. Apple directs you to the arrangement and region APIs for that.
9. Two items from the release notes worth flagging to other teams
Not everything is a layout concern. Apple states iPhone Duo "features an eSIM-only design worldwide", which matters to anyone still provisioning physical SIMs. And the WWDC26 UIKit session states that UIScene lifecycle "is now required when building with the latest SDKs", which is a genuine migration for older UIKit apps that have not adopted it and should be planned before, not during, a Duo pass.
What this actually costs
Items 1 and 4 are hours. Items 3 and 5 are days if your layout code is orientation-driven, which most older codebases are. Items 6 and 7 are a testing exercise more than a coding one. The optional work in item 8 is where a real budget goes, and only for apps with custom two-pane layouts.
We scope this by reading the navigation layer and grepping for the three specific patterns above, because that predicts the number far better than a feature list. If you want an estimate rather than a range, send us that and we will tell you which items apply at our contact page.
For the staffing side of this, see hiring iOS developers, and for teams weighing a shared codebase, SwiftUI versus Kotlin Multiplatform.
FAQ
How eCorpIT can help
eCorpIT is a Gurugram-based engineering organisation, founded in 2021, holding CMMI Level 5, MSME and ISO 27001:2022 certifications, with senior-led iOS teams. We run bounded readiness passes against the list above, take retained capacity for teams tracking Apple's release calendar, and embed engineers inside existing squads. We scope by auditing the navigation layer and grepping for orientation branches and main-screen references, because those predict the cost. Tell us what your codebase looks like at our contact page.
References
_Last updated: 12 September 2026._