How Multiple Displays Work on iPhone Duo

Understand the inner and outer displays on iPhone Duo, and how to build scene-based experiences that use both.

Last updated

Quick answer

Duo is the first iPhone that can run multiple instances of an app's UI if the app already supports that on iPad — enable UIApplicationSupportsMultipleScenes and request a second window with UIWindowScene.ActivationAction or requestSceneSessionActivation; new windows appear on the INNER display only, never the outer. Most apps only need the inner display; outer content is scene accessories or separate scenes for glanceable UI — not a duplicate of your full interface.

Inner & outer displays

iPhone Duo has an outer display for quick glances while folded, and an inner display that becomes available when unfolded. Most apps only need to support the inner display well — the outer display is an optional enhancement, not a requirement.

Scenes per display

Multi-display support builds on UIWindowScene. Outer display content is scene accessories or separate scenes — not a second full window of the app. Extra full windows you activate stay on the inner display.

SceneDelegate.swift
func scene(
    _ scene: UIScene,
    willConnectTo session: UISceneSession,
    options connectionOptions: UIScene.ConnectionOptions
) {
    guard let windowScene = scene as? UIWindowScene else { return }
    if windowScene.session.role == .windowExternalDisplay {
        configureOuterDisplay(for: windowScene)
    }
}

Multiple windows

Duo is the first iPhone that can run multiple instances of an app's UI if the app already supports that on iPad. Request a second window via scene activation, and handle errors — ActivationAction hides when new windows aren't available.

  • Enable UIApplicationSupportsMultipleScenes in the scene manifest.
  • Request a second window with UIWindowScene.ActivationAction or requestSceneSessionActivation.
  • New windows: INNER display only, never outer.
  • Outer display: scene accessories / separate scenes — not a second full window of the app.

Good use cases

  • Now-playing summary while the device is folded
  • Glanceable status — timers, scores, delivery tracking
  • Camera viewfinder mirroring for the outer display
  • A second inner-display window of an iPad-style multi-scene app

Pitfalls

Common mistake

Don't duplicate your full primary interface on the outer display, and don't expect scene activation to open a second full window there. It's a small, glanceable surface — treat it like a complication or widget, not a second full app. New windows stay on the inner display.

Frequently asked questions

Does every app need to support the outer display?

No. Most apps only need to support the inner display well — the outer display is an optional enhancement for glanceable content, not a requirement.

How do I open a second window with UIWindowSceneActivation on iPhone Duo?

Enable UIApplicationSupportsMultipleScenes in the scene manifest, then request a second window with UIWindowScene.ActivationAction or requestSceneSessionActivation. Duo is the first iPhone that can run multiple instances of an app’s UI if the app already supports that on iPad. New windows appear on the INNER display only, never the outer; handle errors, and ActivationAction hides when new windows aren’t available.

Can a second full app window appear on the outer display?

No. New windows from scene activation stay on the inner display. Outer-display content is scene accessories or separate scenes — not a second full window of the app.

How is outer-display support implemented?

It builds on UIWindowScene. Outer content is scene accessories or separate scenes rather than a second full window of the app, while extra full windows from scene activation stay on the inner display. The same multi-window patterns already used on iPad still apply for those inner instances.

What shouldn't be shown on the outer display?

Don't duplicate your full primary interface there. It's a small, glanceable surface — treat it like a complication or widget, not a second full app.

Apps using Multiple Displays