The foundational adaptation layer for iPhone Duo: build against the iOS 27 / 27.1 SDK, simulate poses with DeviceHub in Xcode, and use size classes (not interface orientation) to lay out across the outer and inner displays.
• Every existing app needs to opt in to full-screen resizable layout or it gets letterboxed on iPhone Duo
• Size classes replace interface-orientation checks as the source of truth for layout decisions
• Xcode’s App Resizability skill and DeviceHub simulator let you test every pose without owning hardware
Switches between a two-column split layout on iPhone Duo’s unfolded inner display and a standard stack on the outer display or when folded, using size classes instead of orientation.
import SwiftUI
struct RootView: View {
@Environment(\.horizontalSizeClass) private var horizontalSizeClass
@Environment(\.verticalSizeClass) private var verticalSizeClass
private var isUnfoldedRegular: Bool {
horizontalSizeClass == .regular && verticalSizeClass == .regular
}
var body: some View {
Group {
if isUnfoldedRegular {
// Inner display, unfolded: take advantage of the extra width
NavigationSplitView {
ConversationListView()
} detail: {
ConversationDetailView()
}
} else {
// Outer display, or folded: behave like a standard iPhone
NavigationStack {
ConversationListView()
}
}
}
// Asymmetric insets around the hinge and camera housings are
// applied automatically — don't hardcode padding here.
.safeAreaPadding(.horizontal)
}
}
struct ConversationListView: View {
var body: some View { Text("Conversations") }
}
struct ConversationDetailView: View {
var body: some View { Text("Select a conversation") }
}Apple’s design system for iPhone Duo’s reimagined iOS: controls move to the outer edge, content displaces away from the hinge, and interfaces adapt across held, used, and folded poses.
APIs for observing continuous hinge angle and open/closed state (onHingeChange / UIHingeInteraction), plus scene accessories that present supplementary content on iPhone Duo’s second display simultaneously with the main UI.
New toolbar, tab bar, and navigation bar axis behavior for iPhone Duo’s wider aspect ratio, where top/bottom controls move to a shared vertical region along the side of the display.
In-depth guide
iPhone Duo & Foldables in iOS 27 →• UIScreen.main is deprecated on dual-display devices — use traitCollection.displayScale and window scene screens instead
• Safe area insets are asymmetric around the hinge; do not assume symmetric padding
• Split View multitasking must be tested explicitly — compact-width assumptions break first
iPhone Duo hardware, or the DeviceHub simulator in Xcode 17+
A new layout container (ArrangementView in SwiftUI, UIArrangementViewController in UIKit) for split and overlay presentations that automatically query reserved regions — the hinge and camera housings — on iPhone Duo.