Key takeaways
- Apple says that starting April 2027, iOS and iPadOS apps uploaded to App Store Connect must be built with the iOS 27 and iPadOS 27 SDK or later. Apple gives the month, not a day.
- Xcode 27 needs macOS Tahoe 26.6 or later, according to Apple's system requirements page. A build Mac or CI image on an older macOS can't run it.
- Building with the iOS 27 SDK does not mean dropping every older iOS version. Apple lists iOS 15 to 27 as Xcode 27's deployment target range, and its submitting page says apps must target iOS 15 or later from April 2027. Apple's upcoming requirements page still lists iOS 13 as the current minimum.
- Starting April 2027, Apple says any apps or games submitted will need screenshots for iPhone Duo. The App Store Connect specification page words it as apps using the iOS 27.1 SDK or later.
- Flutter's docs say Flutter apps built with Xcode 27 that haven't adopted UIScene fail to launch, so the migration comes before the switch, not after.
Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.
Apple says that starting April 2027, iOS and iPadOS apps uploaded to App Store Connect must be built with the iOS 27 and iPadOS 27 SDK or later, which means building with Xcode 27. Apple gives the month, not a day, and the same month brings a second requirement: iPhone Duo screenshots. For a Flutter app, the work is a newer build machine, the UIScene migration, and a test build before the deadline.
I checked each one on October 19, 2026. The facts below come from Apple's developer news, help and system requirements pages, and from Flutter's docs, as shown in the sources. Apple can change a date, so open the linked page before you plan around it.
Disclosure: App369 is my studio. I build and fix Flutter and Firebase apps, and the last section mentions what I sell. Apple and Google don't pay me for anything on this page.
The dated timeline
| Date | What happens | Source |
|---|---|---|
| September 9, 2026 | Apple announces: "Starting April 2027, apps and games uploaded to App Store Connect need to meet the following minimum requirements" and lists the iOS 27 and iPadOS 27 SDK | Apple news |
| September 14, 2026 | Xcode 27 released. Xcode 27.1 followed on October 15, 2026 | Apple releases |
| October 5, 2026 | Apple: "Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo." | Apple news |
| October 23, 2026 | iPhone Duo available to customers, per Apple | Apple news |
| December 2, 2026 | The CocoaPods registry becomes read-only, per Flutter's docs | Flutter docs |
| April 2027 | iOS and iPadOS uploads must be built with the iOS 27 SDK or later. Submissions need iPhone Duo screenshots. No day is given | Apple news, SDK, Apple news, Duo |
The requirement is not on Apple's upcoming requirements page yet. That page still lists the 2026 rule: since April 28, 2026, uploads must be built with Xcode 26 or later using an SDK for iOS 26. Because Apple gives the month, not a day, I treat April 1 as the working deadline.
What the rule says, and what it doesn't
Apple's September post lists the minimums for each platform. For iOS and iPadOS: "iOS and iPadOS apps must be built with the iOS 27 & iPadOS 27 SDK or later." The tvOS, visionOS and watchOS lines say the same for their 27 SDKs.
Apple's submitting page adds a deployment target to the iOS line: built with the 27 SDK or later, "and target iOS 15 or later." The news post I read doesn't include that clause. I'm quoting both because they differ, and the submitting page is the more specific one.
Building with the iOS 27 SDK does not drop older iOS versions
The SDK is what you compile against. The deployment target is the oldest iOS your app runs on. Apple's system requirements page lists Xcode 27's deployment targets as iOS 15 to 27, so one Xcode 27 build can still run on every iOS version from 15 up. The only floor is iOS 15. Apple's pages currently disagree on the floor. Its submitting page says "target iOS 15 or later" from April 2027, while the upcoming requirements page still says, since September 9, 2026, that uploads "must target iOS 13 or later." Xcode 27 lists iOS 15 to 27 only, so if your project targets iOS 13 or 14, plan to raise it to iOS 15 before April.
My advice: after you switch to Xcode 27, check IPHONEOS_DEPLOYMENT_TARGET in the Runner target and in ios/Podfile. Don't raise it past what your users need. Plugins may ask for more than iOS 15, and Flutter's Swift Package Manager page shows the error you get when a plugin requires a higher platform version than your app.
What happens if you upload with an older SDK
I found no Apple page that publishes the 2027 error text. The 2026 version of the same rule produces ITMS-90725, "SDK version issue", and it is reasonable to expect the 2027 rule to come back the same way, but that is my inference, not Apple's statement.
The practical point is the same as in 2026: the build machine decides the SDK, not your code. See my ITMS-90725 guide for the wording of the 2026 message, how to check which Xcode your command line uses, and the CI fix.
The build machine: macOS and Xcode versions
Apple's Xcode system requirements page lists Xcode 27, 27.1 and the 27.2 beta 3 as needing "macOS Tahoe 26.6 or later." That is the number that catches teams out. If your build Mac or CI image runs an older macOS, Xcode 27 can't run on it.
- Your own Mac: update to macOS Tahoe 26.6 or later, then install Xcode 27.1 from Apple's releases page.
- CI: check the Xcode versions and macOS image your provider offers. The GitHub runner images I covered in the ITMS-90725 guide are one example, and each provider has its own list.
- Old build Macs: if a Mac can't run macOS Tahoe 26.6, it can't build the upload after April 2027. I'd budget for replacing it or moving the build to CI.
Flutter's iOS setup page says to install the latest Xcode, and notes the simulator is renamed Device Hub in Xcode 27. It states no minimum macOS. Run xcodebuild -version on every machine that builds the app.
Flutter: the version question
Flutter's pages don't state a minimum Flutter version for Xcode 27. They say three things that matter:
- Flutter apps built with Xcode 27 that haven't adopted UIScene "fail to launch on startup."
- UIScene became the default in Flutter 3.41, and eligible apps are migrated automatically.
- The docs reflect Flutter 3.47, the current stable release.
So the floor that matters in practice is the UIScene one. If your app is older than 3.41, or has a custom AppDelegate, do the migration in my UIScene guide before you build with Xcode 27. I won't repeat the code here.
CocoaPods and Swift Package Manager
Flutter's docs say that as of Flutter 3.44, Swift Package Manager support is on by default, and Flutter falls back to CocoaPods for dependencies that don't support it yet. They also say the CocoaPods registry permanently becomes read-only on December 2, 2026. I found nothing in Flutter's pages tying either change to Xcode 27, so treat them as a separate item on your list. My advice: upgrade Flutter and plugins before the Xcode switch, so you change one thing at a time.
iPhone Duo screenshots
Apple's October 5 post says iPhone Duo is available from October 23, 2026, that Xcode 27.1 adds development support for it, and that "starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo."
Apple's screenshot specifications page lists two iPhone Duo sizes, each in both orientations: 1398 x 2034 pixels for the outer display and 2007 x 2853 pixels for the inner display. Its note words the rule as: "Starting in April 2027, screenshots will be required for any app using the iOS 27.1 SDK or later." The two pages word it differently, one by submission and one by SDK. I plan for both, since building with Xcode 27.1 makes them the same thing.
Screenshots submitted for iPhone Duo also earn a badge on the product page, per Apple. For an app that already has phone screenshots, this is a design task, not a code task: capture or design the new sizes and upload them in App Store Connect. Apple's October 5 post says the new preview tool in App Store Connect shows how they look.
A dated checklist
The Apple and Flutter dates are from the sources above. The other dates are my suggestions for working back from April.
- By October 31, 2026: find every machine that builds the iOS app (laptops, CI, a client's Mac). Write down its macOS and
xcodebuild -version. - By November 15, 2026: update the build Macs to macOS Tahoe 26.6 or later and install Xcode 27.1. Keep Xcode 26.6 installed next to it for now.
- By November 30, 2026: upgrade Flutter and plugins. Complete the UIScene migration. Confirm the deployment target is iOS 15 or later.
- December 2, 2026: CocoaPods registry goes read-only. Confirm your plugins resolve under Flutter's Swift Package Manager integration.
- By January 31, 2027: build with Xcode 27.1 and send a build through TestFlight. Test cold start from a push notification and a deep link.
- By February 28, 2027: create the iPhone Duo screenshots at Apple's listed sizes and upload them as a draft in App Store Connect.
- By March 15, 2027: switch your release pipeline to Xcode 27, and ship one normal update through it.
- April 1, 2027: treat this as the deadline. Apple gives only the month, so don't leave the first Xcode 27 upload for the last week.
My advice: ship one update built with Xcode 27 well before April. The first upload on a new SDK is where the surprises are.
For every other dated Apple, Google Play and Firebase requirement in 2026 and 2027, see App Store and Google Play deadlines for 2026 and 2027.
Need a hand?
If your Flutter iOS build breaks on Xcode 27, or you want the pipeline moved before April, the App Fix Ticket covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days and comes as a pull request. Or send me a short description.
Frequently asked questions
- When exactly in April 2027 does the iOS 27 SDK rule start?
- Apple hasn't said. Its September 9, 2026 news post says "Starting April 2027" and gives no day. As of October 19, 2026, Apple's upcoming requirements page had no entry for it yet. My advice: plan to be ready on April 1.
- Do I have to drop support for older iOS versions?
- Not because of the SDK rule. The SDK you build with and the oldest iOS you support are separate settings. Apple's system requirements page lists iOS 15 to 27 as the deployment target range for Xcode 27, and its submitting page says iOS and iPadOS apps must target iOS 15 or later from April 2027. If your app supports something older than iOS 15, that is the setting to fix.
- What happens if I upload with an older SDK?
- Apple hasn't published the 2027 error text that I can find. The 2026 rule produces ITMS-90725, "SDK version issue", and I expect the same kind of message, but that is my inference. See my ITMS-90725 guide for the 2026 wording and fix.
- Do I need iPhone Duo screenshots if I only build a phone app?
- Apple's October 5, 2026 post says that starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo. The screenshot specifications page words it as required for any app using the iOS 27.1 SDK or later. Both point to April 2027, so plan to provide them. Apple lists the sizes on that page.
- Which Flutter version do I need for Xcode 27?
- I found no stated minimum Flutter version for Xcode 27 on Flutter's pages. They say Flutter apps built with Xcode 27 must adopt UIScene, that UIScene became the default in Flutter 3.41, and that the docs reflect Flutter 3.47. My advice: build on the current stable and test with Xcode 27 before April.
Sources
- Apple Developer, App Store submissions now open for the latest OS releases (September 9, 2026)
- Apple Developer, Prepare and submit your apps for iPhone Duo (October 5, 2026)
- Apple Developer, Upcoming requirements
- Apple Developer, Submitting apps to the App Store
- Apple Developer, Xcode SDK and system requirements
- Apple Developer, Releases
- App Store Connect Help, Screenshot specifications
- Apple Developer, iPhone Duo
- Flutter docs, Set up iOS development (page last updated 2026-09-14)
- Flutter docs, UIScene adoption
- Flutter docs, Swift Package Manager for app developers
- Flutter docs, Release notes
Related Resources
Related guides
App Store and Google Play Deadlines for 2026 and 2027
One dated table of the App Store, Google Play, Firebase and Google API requirements that affect mobile app owners in 2026 and 2027, with the primary source for each date, checked October 18, 2026.
Read moreFlutter UIScene Migration: Fix Launch Crashes on Xcode 27
Xcode 27 shipped on September 14, 2026, and Flutter's docs say Flutter iOS apps built with it that haven't adopted the UIScene lifecycle fail to launch. Which Flutter versions migrate automatically, the manual AppDelegate and Info.plist changes, and what plugins need, from Flutter's and Apple's docs checked October 18, 2026.
Read moreITMS-90725 SDK Version Issue: Fix in Flutter (Xcode 26)
ITMS-90725 SDK version issue means App Store Connect saw an app built with an older SDK than it now accepts. What Apple's upcoming requirements page says about Xcode 26 today, and how to fix it in a Flutter app, from Apple's, Flutter's and GitHub's sources checked October 18, 2026.
Read more