Every WWDC gets described as a revolution. This one was not, and that is a compliment. The SwiftUI updates announced at WWDC 2026 read like a list of the workarounds developers have been shipping for years, each one replaced with a first-party API. If you build iOS apps for clients, the practical question is which of these lets you delete code and which forces you to change plans. Here is my read.
Toolbars finally adapt to window size
Four new modifiers give real control over toolbar behaviour as an app resizes. The visibilityPriority modifier keeps important groups on screen when space runs short. toolbarOverflowMenu permanently pushes lower-priority items into an overflow menu. topBarPinnedTrailing pins a critical action — a share or save button — to the trailing edge no matter what. And toolbarMinimizeBehavior collapses the navigation bar as the user scrolls.
This matters more than it sounds, because iPhone apps become resizable this year. A toolbar that was designed once for a 390-point-wide screen now has to survive arbitrary widths. Previously you either wrote a size-class branch or accepted that your buttons would collide. Now you declare intent and let the framework arbitrate.
Resizable iPhone apps are the real story
The single change most likely to affect what your app looks like to a user is that iPhone apps become resizable — which matters for iPhone Mirroring and for running iPhone apps on iPad. SwiftUI and UIKit both gained adaptive layout APIs for hinge-state detection and multi-configuration display handling.
Notice that this is the same story Android is telling with Android 17's mandatory large-screen resizability. Two platforms, the same conclusion, in the same year: the fixed-size phone screen is no longer a safe assumption. If you have been quoting clients for "iPhone only, portrait only" as a cost saving, that saving has quietly evaporated on both sides of the fence.
Containers gain reordering and swipe actions
Reorderable container APIs bring drag-to-rearrange to any container, not just List. swipeActionsContainer adds swipe actions inside any ScrollView. Dialogs and alerts now accept the same item-binding pattern that sheets have used for years, which removes a genuinely annoying inconsistency. Full-fidelity text selection arrives on iOS.
Collectively these delete a category of custom gesture code that was always slightly wrong — the drag that fought with the scroll view, the swipe that only worked in a List. If you maintain an app with a custom reorderable grid, this release is worth the migration on its own.
AsyncImage now caches like a browser
AsyncImage supports standard HTTP caching by default and respects server cache headers, with a new asyncImageURLSession modifier to supply a custom URLSession and URLCache. Read that again if you have ever shipped AsyncImage to production, because the old behaviour — refetching images that the server explicitly marked as cacheable — was a real cost in bandwidth, battery and scroll performance. Many teams replaced AsyncImage with a third-party image library purely for this. That reason is gone.
Document apps and data flow
The Document API expanded substantially: WritableDocument and ReadableDocument protocols for asynchronous, incremental disk operations with progress reporting through Foundation's Subprogress API, and a DocumentCreationSource API that lets you declare multiple creation sources with NewDocumentButton. On the performance side, @State is now implemented as a macro, so classes stored in @State initialise lazily and only once per view lifetime, and ContentBuilder exposes ViewBuilder publicly to improve build times.
The @State change is the one to internalise. Storing a class in @State and having its initialiser run on every re-evaluation was a classic source of mysterious performance bugs and duplicated network calls. That footgun is now closed by the framework rather than by developer discipline.
Tooling: Xcode grows agent skills
Xcode 27 ships two agent skills for its coding assistant: a SwiftUI Specialist that enforces best practice as you write, and a What's New in SwiftUI skill that guides adoption of the new APIs. This mirrors Google shipping a stable Android CLI aimed at agents. Both vendors have concluded that the IDE is becoming a place where an agent works alongside you, and both are building the scaffolding for it. Whether you use it or not, expect the code your contractors submit to look increasingly like whatever these assistants recommend.
What this means if you are commissioning an iOS app
Three things. Budget for adaptive layout: "iPhone only" no longer means "one fixed size", and retrofitting a resizable layout costs more than designing for one. Ask whether your app still needs a third-party image caching library, because that dependency may now be dead weight. And if your app is document-based — anything where the user creates, saves and shares a file — the new Document API is a meaningful reduction in custom code, which means a meaningful reduction in the surface area where bugs live.