
What iOS 27, Xcode 27 and Swift 6.4 mean before the April 2027 deadline
iOS 27, Xcode 27 and Swift 6.4 shipped in September 2026. From April 2027, uploads need the iOS 27 SDK, and UIKit apps need the UIScene lifecycle.
Apple released iOS 27 and the rest of its 27 platform releases on September 14, 2026, together with Xcode 27. Swift 6.4 followed a day later. The date that matters most for app teams is April 2027, when App Store Connect starts requiring builds made with the iOS 27 SDK or later. For UIKit apps, including Flutter and React Native shells, that rebuild also requires a move to the scene-based lifecycle, so the work goes beyond a toolchain bump.
What shipped
The 27 releases and the April 2027 SDK floor
On September 14, 2026, Apple released iOS 27, iPadOS 27, macOS 27, watchOS 27, visionOS 27 and tvOS 27. One regional caveat: Siri AI was not available at launch on iPhone or iPad in the EU.
App Store submissions for all 27 releases opened earlier, on September 9, alongside the Xcode 27 Release Candidate. In the same notice, Apple set the next SDK floor. Starting April 2027, apps and games uploaded to App Store Connect must be built with the iOS 27 and iPadOS 27 SDK or later. The same rule covers the tvOS, visionOS and watchOS 27 SDKs.
Xcode 27
Xcode 27.0 (build 27A266a) shipped on September 14. It bundles Swift 6.4 and requires macOS 26.6 or later. Xcode 27.1 beta 1 arrived on September 18, and the 27.1 Release Candidate on October 5.
The headline IDE features, per Apple's What's new in Xcode page, are coding agents in Xcode that run on the model of your choice, agent-driven localization of string catalogs, and a new Device Hub that shows devices and simulators in one place.
Swift 6.4
Swift 6.4 was released on September 15, 2026. The main additions:
- Optional
some/anysyntax (SE-0521) - Async
deferblocks (SE-0493) - Module selectors using
::(SE-0491) - Cancellation shields (SE-0504)
- Subprocess 1.0
- Interoperability between Swift Testing and XCTest (ST-0021)
Because Xcode 27 bundles Swift 6.4, you get this compiler as soon as you switch toolchains, whether or not you adopt the new syntax.
iPhone Duo
On September 9, Apple announced iPhone Duo, its first foldable iPhone. It has a 7.6-inch inner display and a 5.4-inch outer display, starts at $1,999, opens for pre-orders on October 16 and ships on October 23. iOS 27 brings side-by-side Split View to the device.
In a notice dated October 5, Apple asked developers to recompile with Xcode 27.1 for iPhone Duo. Screenshots for the device are optional today and become required for submissions from April 2027.
What it means for your app
The scene lifecycle is now mandatory
Building against the iOS 27 SDK requires the UIScene lifecycle for UIKit apps. Flutter's 3.47 announcement puts it plainly: "The iOS 27 SDK now mandates the UIScene lifecycle for all UIKit-based apps." Expo says the same in its SDK 58 beta notes, and Apple's migration guide is TN3187.
This reaches further than native UIKit projects. Flutter and React Native apps run inside a UIKit host on iOS, so they are affected too. An app that has not adopted SceneDelegate before it is rebuilt with Xcode 27 stops launching. Treat it as a release blocker that has to land before your first Xcode 27 build reaches testers.
Framework teams are already moving. Flutter 3.47 prepares for the iOS 27 SDK, and in the Expo SDK 58 beta, npx expo prebuild generates SceneDelegate.swift for you. If you maintain the native iOS project by hand, the migration is yours to do.
April 2027 is a toolchain deadline
The SDK floor means every team needs Xcode 27 in its release pipeline by April 2027. Xcode 27 needs macOS 26.6 or later, so local machines, self-hosted runners and hosted CI images all have to move. If your CI provider controls the images, find out when it offers Xcode 27 on a supported macOS version and plan around that date as well as Apple's.
iPhone Duo adds a layout target
iPhone Duo gives you folded and unfolded postures plus Split View. Layouts that assume a single phone width are the ones to test first. Because Apple wants a recompile with Xcode 27.1 for the device, the 27.1 release becomes part of your plan as well, and the screenshot requirement lands on the same April 2027 date as the SDK floor.
Swift 6.4 is something to adopt gradually
Of the Swift 6.4 items, two stand out for app teams. Swift Testing and XCTest interoperability (ST-0021) helps if you are moving a test suite from one framework to the other in steps. Async defer blocks (SE-0493) make cleanup in async code easier to express. Subprocess 1.0 matters more for build tooling and scripts written in Swift.
A practical checklist
- List every iOS target you ship, including Flutter, React Native and Expo apps, and check whether each one already uses
SceneDelegate. - Migrate the ones that do not. Follow TN3187 for native code, Flutter 3.47 for Flutter apps and the SDK 58 prebuild output for Expo apps.
- Upgrade build machines and CI images to macOS 26.6 or later with Xcode 27, and confirm that a clean build passes there.
- Ship at least one update built with the iOS 27 SDK well before April 2027, so problems surface while you still have room to fix them.
- Test iPhone Duo layouts in folded and unfolded postures and in Split View, and recompile with Xcode 27.1 as Apple requests.
- Add iPhone Duo screenshots to your store assets while they are still optional.
- If your roadmap depends on Siri AI, account for EU users on iPhone and iPad, who did not get it at launch.
- Try the Xcode 27 coding agents and string catalog localization on a branch before you decide whether they belong in your workflow.
My take
The UIScene migration is the item to schedule this quarter. April 2027 feels distant, but cross-platform teams depend on framework releases to land the change, and Expo SDK 58 was still in beta at the end of September. Doing the migration early leaves time to test it on real devices instead of discovering it the day your CI image updates.
iPhone Duo is the more interesting long-term change. Apple has already scheduled its screenshots to become mandatory, which signals that it expects apps to handle the device properly. I would treat folded and unfolded layouts as a standard test case from now on, the same way many teams treat iPad layouts.
As for coding agents in Xcode, my take is that choosing your own model is the useful part, since it lets you keep one agent across your tools. Evaluate them the way you would any code generator: on a branch, with your tests as the judge.
Sources
- Apple Newsroom — Major updates for Apple's software platforms are now available
- Apple Developer News — App Store submissions for the 27 releases and the April 2027 SDK requirement
- Swift.org — Swift 6.4 Released
- Xcode Releases — Xcode release history
- Apple Developer Documentation — TN3187: Migrating to the UIKit scene-based life cycle
- Apple Newsroom — Apple unveils iPhone Duo