As of the writing of this article, approximately 3,578 days have passed between the first rumor of a foldable iPhone. 2,758 days took place between Samsung announcing the Galaxy Fold, their first foldable device, and Apple announcing the iPhone Duo. Apple is well known for its “not first, but best” philosophy when it comes to their releases. They are perfectly fine biding their time, perfecting what they think will work for the market, and they have a fairly good track record (I’m looking at you Apple Vision Pro).
The initial indications are that they… succeeded? The early reviews of the hardware and software look great, and there are some indications that interest for the Duo may be eating into the pre-order sales for the iPhone 18 family of devices. Of course, this is all happening well before the public can get their hands on the device, so we’re looking at the external and internal screens afar.
In fact, we’re so early in the process of the Duo’s announcement, there isn’t even an Xcode release that supports the Duo yet. However, Apple hasn’t left us with nothing to go on in terms of getting your apps ready for Duo. In fact, they’ve been lightly yelling at you for years that this day was coming. Even with those preparations, we couldn’t be entirely ready. The hinge of Duo, the multiple camera system, including the front-facing under-screen camera, and the movement of toolbars and navigation bars to a vertical bar on the side of the device are new. Luckily there are some new API to help deal with those new features. Let’s look into the past and the future while we wait for Xcode 27.1 beta to come out.
Not So Subtle Hints from the Past
For those of you that have watched WWDC sessions over the last decade, Apple strongly hints, via software, about upcoming hardware functionality without really telling you outright that it is coming. Whether it is a strong suggestion that you obey safe areas, which eventually led to automatically avoiding the notch or the dynamic island, or repeating over and over again to use size classes, if you tried really hard, you could read the tea leaves.
The up front summary here is that if you have been listening to all of those hints over the years, you’ll find yourself in really great shape for developing for the Duo. Here’s a few areas of interest that were highlighted in the Tech Talks from Apple, release alongside the Duo announcement:
- Size classes are as important as ever! With 2 screens, one that can be split in half, thanks to the hinge, and both available in portrait and landscape, the possibilities are endless. Well, not quite endless, but you do have to make sure to support all the various ways that the Duo can be used.
- Split View Multitasking is important! If you’ve developed for iPadOS before, you are familiar with the multitasking capabilities there. The Duo uses that foundation to not only allow you to have multiple apps open when the Duo is open, you can even have multiple instances of the same app, like Maps, on the screen at once.
- Built in APIs like NavigationStack, NavigationSplitView, TabView and others in SwiftUI (and their companions in UIKit) have already been pre-tuned to work well with new features like the hinge, so you don’t need to worry. If you’re building custom UI, you’ll have to use some of the new API discussed later to help your views slide around the screen where needed.
- Safe areas still exist. Button bars, whether they are on top in a vertical size class, or on the side, appearing vertical, still have a safe area to deal with. Remember with SwiftUI, your app will obey the safe areas by default.
Waiting for Xcode
So without a version of Xcode that support the Duo (currently), what’s can a developer do?
First, be sure to go ahead and build your app against the iOS 27.0 SDKs. This will allow your app to run on the Duo, even though any background images you have won’t extend under the vertical bar on the right side of the device.
In order to enable that functionality, you’ll need to wait for Apple to release Xcode 27.1 beta and iOS 27.1 beta. Building with this SDK will allow your app to take full functionality of what the Duo has to offer. According to Apple, the release for Xcode 27.1 should happen later in September of 2026.
New Hardware, New APIs
With a new set of hardware, especially something as different as the Duo, comes a new set of APIs. Here’s some of the various APIs that were called out in the Tech Talks.
Overriding the Defaults
As much as the OS tries to guess where your UI elements go, there are ways to override those guesses. For example, to force the tab bar to go to the vertical side orientation you can use the following.
TabView { … }
.defaultTabBarPlacement(.sidebar)
For most, if not all, of these code snippets there are UIKit equivalents. Check out the eventual documentation for details.
tabBarController.sidebar.preferredPlacement = .sidebar
You can also, for example, state whether a tool bar item prefers the vertical or horizontal axis.
ToolbarItem {
ProfileView()
}
.axisBehavior(.verticalPreferred)
.horizontalOnlyDon’t Forget New Features from iOS 26
What if you have an icon that you also want to show a value with. An example here would be an inbox icon. You wouldn’t want the number of unread messages as a text string next to the icon, but you could use the new .badge() modifier introduced in iOS 26:
ToolbarItem(...) {
InboxButton()
.badge(7)
}
See they really do introduce things in small doses before they become important!
Take Advantage of Overflow
The overflow mechanism for buttons has been in iOS for a while now, and iOS 27 adds some additional functionality. You can force some items into the overflow menu manually:
ToolbarOverflowMenu {
Button("Add") { ... }
Button("Delete") { ... }
}
The system will also slide items into the overflow menu, as usual, but you can provide priorities to keep items out of overflow:
ToolbarItem {
Button(...) { ... }
}
.visibilityPriority(.high)

