DEV Community

Cover image for iPhone Duo: What Apple's 'Boring' Keynote Actually Means for iOS Developers
Kirill Lukyanov
Kirill Lukyanov

Posted on Originally published at klukyanov.ru

iPhone Duo: What Apple's 'Boring' Keynote Actually Means for iOS Developers

Apple's September keynote felt like "nothing interesting": a slightly faster Pro, a slightly pricier Pro, new watches, new earbuds, and a foldable that looked almost exactly like the leaks. For buyers, that's a fair summary. For iOS developers, it's the opposite — the evening quietly delivered the biggest layout change since the iPhone X notch, and the clock on it runs out on October 23.

The day before the event I published 13 predictions with probabilities. Here's how they did, what was actually shown, and — the part I really care about — what the iPhone Duo's inner display means for your code.

Scorecard: 11 out of 13

Probabilities were set on the morning of September 9, before the stream, and haven't been touched since. Anything below 50% means I was betting against the event.

Prediction My odds What happened Result
A foldable iPhone is shown 95% Shown — iPhone Duo
It's called iPhone Ultra 55% It's called iPhone Duo
Foldable starts at $2,000 85% $1,999 for 256 GB
Touch ID instead of Face ID on the foldable 75% Touch ID in the side button
No telephoto on the foldable 70% Main 48 MP + ultra wide; 2x is a crop of the main sensor
No base iPhone 18 90% Moved to spring 2027
A20 Pro on 2 nm in all three iPhones 90% All three
iPhone 18 Pro gets at least $100 pricier 70% $1,199 / $1,299 — exactly +$100
Variable aperture on the Pro main camera 65% Yes, plus manual aperture and shutter
Ceramic Apple Watch Series 12 70% Ceramic finish in the lineup
AirPods 5 with a new H3 chip 65% H3, $129 / $149 — ANC on both models
Home hub is shown (bet against) 35% Not shown
Something not in any leak (bet against) 30% Front camera under the foldable's inner display

Brier score: 0.118 (answering 50/50 on everything scores 0.25). I missed exactly where I warned I would: specs leak for months because thousands of factory workers know them, while the name is known by about twenty people who stay quiet. And I got cocky betting against a surprise.

What was announced

Device US price Pre-order Available
iPhone 18 Pro from $1,199 Sep 12 Sep 18
iPhone 18 Pro Max from $1,299 Sep 12 Sep 18
iPhone Duo from $1,999 Oct 16 Oct 23
Apple Watch Series 12 from $399 now Sep 18
Apple Watch Ultra 4 from $799 now Sep 18
AirPods 5 $129 / $149 now Sep 18
iOS 27, macOS Golden Gate & co free Sep 14

The good: a foldable whose two displays share (almost) the same proportions, so content scales instead of reflowing; Split View on an iPhone for the first time; a real variable aperture; 45 hours of video on the Pro Max; ANC in the $129 AirPods; and Apple Reference Image, which signs sensor data so a photo can later be proven to be a photo — arguably the most underrated announcement of the night.

The not-so-good: +$100 on the Pro and +$300 on the 1 TB tier, price bumps on older models; Siri AI ships in beta, English-only, with daily usage limits and "expanded access for a fee in the future" (and not at all on iPhone in the EU or mainland China); the iPhone 18 Pro display is unchanged apart from a narrower Dynamic Island; the Duo is eSIM-only and doesn't support Apple Pencil Pro.

Not shown: the base iPhone 18, the home hub, HomePod mini, Apple TV, any Mac — and, for developers, the iOS 27.1 SDK.

The new screen in numbers

For 19 years the iPhone has been a tall, narrow strip: 1.5 on the original, 2.17 on today's Pro Max. Every mobile layout we write grew up inside that strip. The Duo's inner display breaks it.

iPhone 18 Pro Max Duo, outer Duo, inner
Diagonal 6.9″ 5.4″ 7.6″
Pixels 1320 × 2868 1398 × 2034 2670 × 1878
Points (w × h) 440 × 956 466 × 678 890 × 626
Density 460 ppi 460 ppi 430 ppi
Aspect ratio 2.17 1.45 1.42
Size classes (portrait) compact × regular compact × regular regular × regular
Supported orientations honored honored ignored

Three takeaways:

  1. 1.42 is roughly √2 — the A4 paper ratio. Fold such a sheet in half and each half keeps the same shape. In Split View the inner display splits into two panes of roughly 445 × 626 points, each almost the shape of the outer display. Two apps side by side each get an "outer screen". That's hardware designed with software in mind.
  2. The open Duo is wider than tall. It's not a phone turned sideways — it's the new default posture. The Dynamic Island sits vertically on the side, so safe-area insets are asymmetric, and with the 27.1 SDK vertical bars move to the left edge.
  3. 16:9 video loses. At 890 points wide a video is 890 × 501, leaving 125 points of black — a fifth of the screen.

How the Duo shows your app if you do nothing

  • Built without the iOS 27 SDK: a familiar phone-sized window in the middle of the inner display, surrounded by black. A postcard in a giant frame.
  • Built with the iOS 27 SDK: wider, but part of the screen is still empty.
  • Built with the iOS 27.1 SDK: edge to edge, toolbars and tab bars move to the left. This is the native look — and the SDK for it isn't even in beta yet.

What to grep for this week

The good news: almost all of this is stuff Apple has asked us to do for years. The bad news: iPhones were always narrow, and plenty of codebases quietly relied on it. The Duo is still an iPhone, but inside it's regular × regular, like an iPad.

In your code Why it breaks on Duo Replace with
UIScreen.main.bounds, hardcoded widths Two differently shaped screens, the app moves between them live Your view's geometry (onGeometryChange), screen via UIWindowScene
Interface orientation checks The inner display ignores supported orientations horizontalSizeClass / verticalSizeClass
userInterfaceIdiom == .phone as "narrow screen" Duo is an iPhone with regular × regular and Split View Layout by size class, not by device type
Symmetric safe-area insets The Dynamic Island is on the side Handle each inset and margin independently
UIRequiresFullScreen in Info.plist No longer prevents resizing from iOS 27 Support live resizing
A hardcoded "Sign in with Face ID" label Duo has Touch ID in the side button Branch on LAContext.biometryType
One window per app Split View opens multiple scenes, new windows only on the inner display Support multiple scenes and handle refused requests

Biometrics is the easy one:

import LocalAuthentication

func biometryLabel() -> String {
    let context = LAContext()
    _ = context.canEvaluatePolicy(.deviceOwnerAuthentication, error: nil)
    return switch context.biometryType {
    case .faceID:  "Sign in with Face ID"
    case .touchID: "Sign in with Touch ID"
    case .opticID: "Sign in with Optic ID"
    default:       "Sign in with passcode"
    }
}
Enter fullscreen mode Exit fullscreen mode

Layout isn't rocket science either if you're on SwiftUI — NavigationSplitView collapses to one column in compact width and expands on the inner display:

struct RootView: View {
    @Environment(\.horizontalSizeClass) private var hSize

    var body: some View {
        NavigationSplitView {
            SidebarList()
        } detail: {
            DetailView()
                .padding(hSize == .regular ? 32 : 16)
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Apple's "Preparing your app for iPhone Duo" material also names foldable-specific APIs: onHingeChange / UIHingeInteraction for hinge states and angle, ArrangementView / UIArrangementViewController for two-pane layouts around the fold, reservedRegion on GeometryProxy / UIView to keep controls off the fold, CameraCaptureAccessory for a preview or teleprompter on the outer display, and AVCaptureDeviceDirectionCoordinator — because camera position is no longer camera direction.

Two easy-to-miss extras: StandBy on the Duo runs on either display even when not charging, so apps without widgets or Live Activities simply don't exist there. And health apps should expect a lot more data — Series 12 and Ultra 4 sample heart rate every five seconds all day.

The next six weeks

  • Sep 14 — iOS 27 ships. Its SDK (already in RC) decides whether your app resizes.
  • Sep 16–17 — Apple group labs on iPhone Duo; Q&As on Sep 23.
  • Xcode 27.1 beta — iOS 27.1 SDK and a Duo simulator you can open, close, rotate and partially fold.
  • Oct 23 — iPhone Duo ships on iOS 27.1, and people who paid $1,999 start opening your app.

Bottom line

If you own an iPhone 16 Pro or 17 Pro, you could have skipped this keynote. If you write iOS apps, this is the busiest autumn since 2017, when the iPhone X taught everyone the words "safe area". This time the lesson is that an iPhone can be wider than it is tall, that size classes on a phone aren't a formality, and that one window per app is no longer a given. The keynote was boring precisely because everything important in it was for Xcode, not for the store window.

How many UIScreen.main references are in your project?

Originally published at klukyanov.ru.

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.