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") }
}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.
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.
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.
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+
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.