Skip to content

AI & TechnologyITMS-90725 SDK Version Issue: Fix in Flutter (Xcode 26)

Simon Dziak
Simon Dziak
Founder & developer, App369
LinkedIn
October 18, 20266 min

Key takeaways

  • ITMS-90725 means the build you uploaded was made with an older SDK than App Store Connect accepts. Apple's upcoming requirements page says that since April 28, 2026, uploads must be built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26 or watchOS 26.
  • As of October 18, 2026, that page names no Xcode 27 or iOS 27 SDK requirement. Xcode 27 was released on September 14, 2026, but Xcode 26 or later is still the stated minimum.
  • In a Flutter app the fix is to build the upload with Xcode 26 or later. Check which Xcode the command line uses with xcode-select -p, because Flutter builds with the selected one.
  • flutter doctor will not warn you. In the Flutter source I read, the required Xcode version is 15 and the recommended one is 16, far below Apple's minimum.
  • On CI, the build machine decides the SDK. GitHub's macOS 26 runner image lists Xcode 26.0.1 to 26.6, with 26.6 as the default, and a separate xcode-27 image exists.

Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.

If App Store Connect shows ITMS-90725 "SDK version issue," the build you uploaded was made with an older SDK than Apple now accepts, and the fix is to rebuild it with Xcode 26 or later. Apple's upcoming requirements page says that since April 28, 2026, apps uploaded to App Store Connect must be built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26 or watchOS 26. In a Flutter app, that often means the Mac or CI machine that builds the IPA is still running Xcode 16.

The facts below come from Apple's requirements and release pages, Flutter's docs and source, and GitHub's runner image lists, as shown in the sources. I checked each one on October 18, 2026.

Disclosure: App369 is my studio. I build and fix Android and iOS apps, mostly in Flutter, and the last section mentions what I sell. Apple doesn't pay me for anything on this page.

What the error says

The wording below is a developer's copy of the email, posted in an Apple Developer Forums thread in January 2026. It is not Apple's own documentation:

This app was built with the iOS 18.2 SDK. Starting April 2026, all iOS and iPadOS apps must be built with the iOS 26 SDK or later, included in Xcode 26 or later, in order to be uploaded to App Store Connect or submitted for distribution.

The same thread shows the message arrived months before the date it names. A GitHub issue in a project named pot-g-flutter, dated February 2026, describes the same warning on a build made with the iOS 18.5 SDK. Your email will name the SDK your build used. That number tells you how far behind your build machine is.

What Apple requires today

DateWhat Apple saysSource
Since April 28, 2026"Apps uploaded to App Store Connect must be built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26, or watchOS 26."Apple, upcoming requirements
Since September 9, 2026iOS and iPadOS apps uploaded to App Store Connect must target iOS 13 or later. This is a minimum deployment target, not an SDK ruleApple, upcoming requirements
September 14, 2026Xcode 27 released. Apple's releases page lists Xcode 27.1 as the newest release, dated October 15, 2026Apple, releases

On October 18, 2026, the upcoming requirements page had no entry for Xcode 27 or the iOS 27 SDK. So Apple hasn't published an Xcode 27 upload requirement that I can find. Xcode 26 or later is the stated minimum. My advice: build with Xcode 26.6, or Xcode 27 once the app has migrated to UIScene. Read the UIScene guide before you move a Flutter app to Xcode 27.

Apple doesn't say whether this is a warning or a rejection. Its page says apps "must be built" this way, so plan on fixing it, not waiting to see.

Step 1: Install the required Xcode

  1. Install Xcode 26 or later from the Mac App Store or Apple's developer downloads. Apple's releases page lists Xcode 26.6 (June 25, 2026) as the newest Xcode 26 release.
  2. Open it once and let it install its components.

Step 2: Make the command line use it

A Flutter build runs through the command-line tools, so the selected Xcode matters, not the one you last opened. Flutter's iOS setup page gives this command for pointing the tools at an Xcode install:

sudo sh -c 'xcode-select -s /Applications/Xcode.app/Contents/Developer && xcodebuild -runFirstLaunch'

Replace /Applications/Xcode.app if you installed it somewhere else. Apple's TN2339 documents xcode-select --print-path to see the current selection, and xcode-select -switch to change it. Then run xcodebuild -version to see the version in use. My advice: do this on every Mac that builds the app, including old laptops and CI machines you forgot about.

Step 3: Don't trust flutter doctor for this

flutter doctor checks Xcode, but not against Apple's upload rule. In the Flutter source on the master branch, xcodeRequiredVersion is 15 and xcodeRecommendedVersion is 16. The doctor warns below the recommended version. Xcode 16 passes that check but would still trigger ITMS-90725. So a clean doctor result doesn't mean Apple will accept the build. Check xcodebuild -version yourself.

If your Flutter is old and the build breaks under Xcode 26, upgrade Flutter and see the iOS build-failed-after-upgrade guide.

Step 4: Rebuild pods and the archive

After switching Xcode, old build output can linger. Work from least to most destructive, from the ios folder:

  1. pod install --repo-update.
  2. If pods still build against the old toolchain, delete Pods and Podfile.lock, run flutter clean, flutter pub get, then pod install --repo-update again.
  3. Build the archive with flutter build ipa, or archive in Xcode from ios/Runner.xcworkspace, and upload again.

The build-failed guide covers the deployment target, CocoaPods and plugin mismatches in more detail. Keep the two targets apart: the SDK is what you build with, and the deployment target is the oldest iOS you support. Apple's September 9, 2026 entry only requires iOS 13 or later. Your plugins may ask for more.

Fix it on CI

If the upload comes from a build server, the server's Xcode decides the SDK. For GitHub Actions, the macOS 26 arm64 image readme I read lists Xcode 26.6 as the default, along with 26.5, 26.4.1, 26.3, 26.2, 26.1.1 and 26.0.1. It also lists CocoaPods 1.17.0. GitHub announced a separate xcode-27 image label in July 2026, marked preview, and its readme lists Xcode 27.0 as that image's default.

If your workflow pins an older image or selects an old Xcode, change it. Older images list different Xcode versions, so check the readme for the image your workflow uses.

On other CI services, such as Codemagic, check the provider's own page for the Xcode versions it offers.

Other services that build for you

The warning can also reach people who don't run the build themselves. If a hosted or no-code builder makes your iOS build, the Xcode it uses is the vendor's choice. Check its documentation for the Xcode version, and if it is older than 26, export the project and build it locally with Xcode 26 or later, or wait for the vendor to upgrade.

If the next email is about privacy manifests, see ITMS-91053 and ITMS-91061.

Need a hand?

If App Store Connect keeps rejecting your build with ITMS-90725, or the app breaks after the Xcode upgrade, 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

What does ITMS-90725 SDK version issue mean?
It means App Store Connect found that the app was built with an older SDK than Apple now requires. A forum post from January 2026 quotes the message as: "This app was built with the iOS 18.2 SDK. Starting April 2026, all iOS and iPadOS apps must be built with the iOS 26 SDK or later, included in Xcode 26 or later." The fix is to rebuild with Xcode 26 or later.
What Xcode version does Apple require right now?
Apple's upcoming requirements page says that since April 28, 2026, apps uploaded to App Store Connect must be built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26 or watchOS 26. On October 18, 2026, that page had no entry for Xcode 27.
Do I need Xcode 27 to upload?
Not according to Apple's upcoming requirements page as of October 18, 2026. It names Xcode 26 or later and gives no Xcode 27 date. Xcode 27 does change Flutter apps in one way: see the UIScene guide before you switch.
Does this raise my minimum iOS version?
No. The SDK you build with is separate from the iOS version you support. Apple's page has a separate entry saying that since September 9, 2026, iOS and iPadOS apps uploaded to App Store Connect must target iOS 13 or later. Your plugins may require a higher target than that.
Does the version already in the App Store stop working?
I found no Apple statement on that. A reply in a 2024 Apple forum thread, from a user who isn't identified as Apple staff, said the version already in the store is unaffected. Treat that as a forum opinion. The rule applies to new uploads.

Sources

  1. Apple Developer, Upcoming requirements (SDK minimum requirements since April 28, 2026)
  2. Apple Developer, Releases (Xcode 27 on September 14, 2026; Xcode 26.6)
  3. Apple Developer Forums, 90725: SDK version issue - iOS SDK 26 support (January 2026)
  4. Apple Developer Forums, ITMS-90725: SDK version issue (April 2024)
  5. Apple Developer, Technical Note TN2339 (xcode-select)
  6. Flutter docs, Set up iOS development (page last updated 2026-09-14)
  7. Flutter on GitHub, xcode_validator.dart (Xcode messages for flutter doctor)
  8. Flutter on GitHub, xcode.dart (required and recommended Xcode versions)
  9. gsainfoteam/pot-g-flutter on GitHub, issue 437 (a Flutter team hitting ITMS-90725, February 2026)
  10. GitHub Actions runner images, macOS 26 (arm64) readme
  11. GitHub Actions runner images, macOS 27 / Xcode 27 (arm64) readme
  12. GitHub Actions runner images, issue 14404 (Xcode 27 preview and the xcode-27 label)

Fixed-price services

Want this done at a fixed price?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

Tags
#itms-90725 #sdk version issue #itms-90725 sdk version issue #app store connect xcode 26 required #built with ios 18 sdk #ios 26 sdk required #flutter xcode 26 #xcode-select flutter #flutter doctor xcode #github actions xcode 26
Share:

Related Resources

Related guides