The iPhone Duo is selling out. Is your app ready?

A three-tier plan for getting iPhone apps ready for Apple's foldable, starting with the one step that can't wait.

7 min read

Apple opened iPhone Duo preorders on October 16. The $1,999 foldable sold out in minutes.

If your iPhone app is still built with Xcode 26, some of your most valuable users are about to open it on that phone and see it boxed into a small window with black bars on both sides. They won’t blame Apple. They’ll blame you.

We’ve spent the last few weeks running Dart and Flutter apps on the Duo simulator alongside client teams. Flutter handles the Duo well, with one gap we cover below. Getting an app to feel at home there still takes deliberate work, and the first step can’t wait.

Duo GT, a Flutter car companion demo app, running in split view next to the Very Good Ventures website in Safari on the open iPhone Duo Duo GT, a Flutter demo app David Castaño built, running next to Safari on the open iPhone Duo.

TL;DR

  • Move to Xcode 27.1 or later as soon as you can. That removes the black bars. Apps still on the old app-delegate lifecycle need to adopt UIScene first, or the new build crashes on launch.
  • Rework navigation for the open screen. List and detail views move side by side, and Apple puts tab bars, toolbars, and the back button in a strip on the right.
  • Design for the crease and the poses. Keep buttons, modals, and sheets off the fold, and give each half of the screen its own job.

Why this can’t wait

The Duo won’t be the most common iPhone anytime soon. Supply is tight, and reports said Apple was building only a few hundred units a day ahead of launch. Look at who is buying it, though.

What happenedDetail
Preorders sold outWithin minutes on Oct. 16, with store pickup in the New York area selling out in about 3 minutes
Deliveries slippedEvery configuration moved to late January 2027
Price$1,999 to $3,199
ResaleeBay listings at $4,000 and up
Launch dayOct. 23, with Apple warning that walk-in stock is limited

These buyers pay $1,999 or more for a phone and wait months to get it. They’re the customers your app most wants to keep, and they notice when something looks off.

Right now, something does. An app built with Xcode 26 opens on the Duo’s inner screen in compatibility mode, with the phone layout framed by black bars. Apple calls that a safety net. Users see an app nobody bothered to update, and that can show up in reviews and support tickets.

The deadline is fixed, too. Starting April 2027, every app submitted to the App Store must include iPhone Duo screenshots. If your app still has black bars by then, every update you ship will need Duo screenshots that show them.

Tier 1: Get rid of the black bars

Every iPhone app needs this tier. Do nothing, and your app renders letterboxed on the open Duo. Rebuild with Xcode 27.1 or later, and the bars go away. Your app fills the inner screen.

An app built with a pre-iOS 27 SDK running letterboxed on the open iPhone Duo, with black bars on both sides, next to the same app on the folded outer screen Image: Apple Developer

The app lifecycle is where teams get stuck. The iOS 27 SDK requires the scene-based lifecycle (UIScene). Flutter has warned about this for over a year, and Flutter 3.41 migrates apps automatically if the iOS app delegate is untouched. Many production apps have customized the delegate for push notifications, deep links, analytics, or native code. Those apps need a manual migration. An app still on the app-delegate lifecycle crashes on launch when built with the new SDK.

For some teams Tier 1 takes an afternoon. For others it’s a small project. On a Flutter app, we work through it in this order:

  1. Upgrade Flutter and check whether the scene migration ran.
  2. Migrate a customized app delegate by hand, following Flutter’s UIScene guide.
  3. Update or replace plugins that hook the lifecycle, especially push, deep links, and sign-in.
  4. Build with Xcode 27.1 and walk every flow on the Duo simulator, folded and open.

Removing the bars also removes Apple’s safety net. Your app now lays out at the full width of the inner screen, and anything sized by width stretches. Tier 2 addresses that. Until then, a phone-width column centered on wide screens is a good stopgap, though it brings back some of the boxed-in look.

Tier 2: Rearrange navigation

Open the Duo and you’re holding a small tablet. That can change the layout of every page in your app.

Duo GT opening in half the screen, then reflowing into its two-column layout as it expands to full width.

Start with the simplest pattern, a list and its details. Folded, they’re two pages. Tap a row and the detail screen slides in. Open, they belong side by side in a split view, like a messaging app with channels on the left and the conversation on the right. Apps built without that in mind face a lot of work here, because the change touches routing, state, and every screen built on that pattern.

A messaging app on the open iPhone Duo in a split view, with direct messages and channels on the left and the open conversation on the right Image: Apple Developer

The bigger change is where navigation lives. On the open Duo, Apple moved bottom tab bars and toolbar items, including the back button, into a vertical strip on the right side of the screen. That strip sits under the Dynamic Island and status bar. Apple’s own apps already work this way. An app that keeps its tab bar at the bottom will look a generation behind.

The iPhone Duo inner screen with the toolbar and tab bar in a vertical strip on the right side, under the Dynamic Island and status bar Image: Apple Developer

Treat this tier as a redesign. Plan for design time alongside engineering time.

Tier 3: Design for the crease and the poses

Apple doesn’t want people touching the crease while the inner screen is partly folded. Build on the split view from Tier 2. Half-open, the list should fill the left half and the detail the right, with nothing tappable in the middle. Modals, sheets, and popovers move to one side instead of centering over the fold.

A VGV demo app reading the Duo’s pose and hinge angle, then adjusting its split view as the device moves between closed, book, and laptop poses.

People also use the Duo in more than one shape. A video can play on the upright half while the phone sits on a table like a laptop, with controls on the flat bottom half. A recipe can stand open on the counter. A shopping app can show the product on one side and the cart on the other.

Six iPhone Duo poses: closed, seated, standing, portrait, partially folded landscape, and landscape Image: Apple Developer

Not every app needs this tier. Apps people browse, compare, order from, or spend long sessions in earn it. A quick single-task tool can stop at Tier 2.

This isn’t a Flutter problem

Every new Apple device brings the same question about whether Flutter can keep up. It can. A Flutter app on iOS is a native iOS app with Flutter running inside it. Anything iOS knows, your app can reach through a platform channel.

Duo GT rearranging its controls, climate, and map views as the iPhone Duo folds and unfolds in the simulator.

Flutter draws its own UI, so a Flutter tab bar won’t jump to the right side of the Duo on its own. A native app with a custom bar won’t either. Only native apps built on Apple’s stock navigation containers get that move for free, and Apple still asks every team to check their layouts. Rearranging navigation is design work in any framework.

Flutter has one gap today. The framework can’t read the fold on iOS yet, and support for it is in review. In the meantime, a small native bridge gives your app the fold, the hinge angle, and the pose. You can throw it away once Flutter ships native support. Bridges like this already exist for the Duo, so you don’t have to start from scratch.

With that bridge in place, Dart and Flutter are ready for the Duo. Making an app feel natural there takes intentional work, the same as it would in Swift.

Start with the deadline

Flutter apps have been here before. Teams adopted dark mode, the Dynamic Island, and home screen widgets as iOS evolved. Each time, the same playbook worked. Adapt what makes sense for your users, and push hard where it matters.

The Duo fits that pattern with one difference. Tier 1 has a deadline. Move to Xcode 27.1 now, then work through Tiers 2 and 3 as your roadmap allows. Prioritize the screens your users spend the most time on.

The layout work pays off beyond the Duo. The inner screen behaves like a small tablet, so the split views and adaptive navigation you build for it largely carry over to iPad and Android foldables. If tablet support has been sitting in your backlog, the Duo just moved it up.

Sources

Launch coverage

Apple

Flutter

About the Authors

David Castaño

Engineering

Marcus Twichel

Google Developer ExpertSenior Practitioner

Marcus Twichel is an Engineering Lead at Very Good Ventures, a Flutter/Dart GDE, and an expert in QSR technology. Having worked with major brands like Dutch Bros Coffee, Toast POS, and Universal Studios, he loves helping teams solve real-world problems through innovative, cross-platform architecture that reaches every screen. Marcus is highly passionate about expanding Dart's reach—from backend development with Dart Frog to cutting-edge GenUI. Off the clock, you can usually find him running a D&D campaign or exploring the wilds of Montana with his boys.

Frequently Asked Questions

Does Flutter support the iPhone Duo?

Yes. A Flutter app on iOS is a native iOS app with Flutter running inside it, so anything iOS knows, a Flutter app can reach through a platform channel. The one gap today is the fold, which the framework can't read on iOS yet. A small native bridge covers it until Flutter ships support.

Why does my app show black bars on the iPhone Duo?

An app built with Xcode 26 opens on the Duo's inner screen in compatibility mode, with the phone layout in a small centered window and black bars on both sides. Rebuilding with Xcode 27.1 or later removes the bars, and the app fills the inner screen.

Do Flutter apps need to adopt UIScene for the iPhone Duo?

Yes, if you build with the iOS 27 SDK. That SDK requires the scene-based lifecycle, and an app still on the app-delegate lifecycle crashes on launch when built with it. Flutter 3.41 migrates apps automatically if the iOS app delegate is untouched. Apps that customized it for push notifications, deep links, analytics, or native code need a manual migration following Flutter's UIScene guide.

When does the App Store start requiring iPhone Duo screenshots?

Starting April 2027, Apple requires every app or game submitted to the App Store to include iPhone Duo screenshots. Rebuilding with Xcode 27.1 or later is what lets those screenshots show your app filling the inner screen instead of sitting between black bars.

Will a Flutter tab bar move to the side of the iPhone Duo on its own?

No. Flutter draws its own UI, so its tab bar stays where the app puts it, and the same is true of a native app with a custom bar. Only native apps built on Apple's stock navigation containers get the move to the right-side strip for free. Rearranging navigation for the open screen is design work in any framework.

Can a Flutter app detect the iPhone Duo's fold?

Not from the framework yet. Fold support on iOS is under review in flutter/flutter #193025. Until it ships, a small native bridge gives a Flutter app the fold, the hinge angle, and the pose, and can be thrown away once Flutter supports it natively.

Does my app need a redesign for the iPhone Duo?

Not always. Every iPhone app needs the first step, a rebuild with Xcode 27.1 plus any lifecycle migration it requires. For some teams that takes an afternoon. For others it's a small project. Reworking navigation for the open screen is a redesign. Designing around the crease pays off for apps people browse, compare, order from, or spend long sessions in, and a quick single-task tool can stop at the navigation step.

Does iPhone Duo layout work carry over to other devices?

Largely, yes. The inner screen behaves like a small tablet, so the split views and adaptive navigation built for it carry over to iPad and Android foldables.