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.
• Continuous hinge angle unlocks physical, gesture-like interactions (e.g. a pitch-bend control tied to fold angle) with no touch input required
• Scene accessories let an app show content on the outer display while the main UI stays on the inner display — no more choosing one screen
• Multiple scenes are new to iPhone (previously iPad-only), enabling real side-by-side multitasking
A guitar app that maps continuous hinge angle to a pitch-bend effect while the device is partially folded, and pairs a camera app’s capture UI with a teleprompter accessory on the second display.
import SwiftUI
struct InstrumentView: View {
@State private var pitchBend: Double = 0
var body: some View {
GuitarView(pitchBend: pitchBend)
.onHingeChange { _, context in
if let hinge = context.hinge, hinge.status == .partiallyOpen {
pitchBend = calculatePitchBend(angle: hinge.angle)
} else {
pitchBend = 0
}
}
}
private func calculatePitchBend(angle: Angle) -> Double {
min(max(angle.degrees / 180, 0), 1)
}
}
struct CameraRootView: View {
@State private var model = TeleprompterModel()
var body: some View {
CameraView(model: model)
.sceneAccessory {
CameraCaptureAccessory(isEnabled: $model.isEnabled) {
TeleprompterView(model: model)
}
.onAvailabilityChange { newValue in
model.isAvailable = newValue
}
}
.toolbar {
TeleprompterToggle(isEnabled: $model.isEnabled)
.disabled(!model.isAvailable)
}
}
}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.
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.
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 →• Scene accessories are not always available — check onAvailabilityChange before enabling UI that depends on one
• Hinge status has three states (closed, partiallyOpen, fullyOpen) — handle all three, not just open/closed
• UIKit apps get hinge data via UIHingeInteraction, not a scene-level property
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.