Skip to content
iPhone Duo SupportGet help

Support Split View multitasking — every app participates

Blockerscenes

What you see

Layout breaks, content overlaps, or the app appears frozen when the user places it side by side with another app.

Apple states that all apps participate in side-by-side multitasking on iPhone Duo. This is not an opt-in feature, which means an app that has never been resized in its life can now be handed an arbitrary fraction of the inner display.

Why it happens

Split View changes your app’s available width without changing the device orientation and without relaunching the app. Code that computes layout once — in viewDidLoad, in initState, in a module-level constant — never learns that the width changed.

This is the same class of bug as hard-coded dimensions, but it is triggered by the user at an arbitrary moment rather than by the device, so it is easy to miss in testing.

The fix

Make layout a function of current size rather than a one-time computation.

// SwiftUI — recomputes automatically
GeometryReader { proxy in
    ContentGrid(columns: proxy.size.width > 500 ? 2 : 1)
}
// UIKit — respond to trait and size changes
override func viewWillTransition(
    to size: CGSize,
    with coordinator: UIViewControllerTransitionCoordinator
) {
    super.viewWillTransition(to: size, with: coordinator)
    coordinator.animate { _ in self.relayout(for: size) }
}

Apple notes that apps already supporting iPad resizing or iPhone mirroring have a head start here — the same adaptive code paths apply.

Two failure modes worth testing for specifically:

How to verify

In the Duo simulator, put your app side by side with another app and drag the divider through its full range. The layout should reflow continuously, and any playing content should keep playing.

← All checksGet help with this