Skip to content
Narvy

ITMS-90725: build with Xcode 26 and the iOS 26 SDK

Since April 28, 2026, App Store Connect rejects uploads that were not built with Xcode 26 or later and the iOS 26 SDK. The SDK is the one Xcode compiles against, not your deployment target: install Xcode 26, rebuild, upload. You can keep supporting older iOS versions.

App Store Connect e-mailITMS-90725
ITMS-90725: SDK version issue - This app was built with the iOS 18.5 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.

What it means

Apple's upcoming requirements page states that 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, since April 28, 2026. The build records the SDK in Info.plist (DTSDKName, DTPlatformVersion, DTXcode) and in the executable (LC_BUILD_VERSION): App Store Connect reads them, and so does the store check.

Deadline

In force since April 28, 2026. The previous minimum was Xcode 16 with the iOS 18 SDK.

How to fix it

1. Build with Xcode 26

terminal
xcodebuild -version          # must print Xcode 26.x or later
xcodebuild -showsdks | grep iphoneos

2. Update CI runners

Most ITMS-90725 rejections come from CI images still on an older Xcode. Pin the Xcode version explicitly in the workflow (for example with sudo xcode-select -s /Applications/Xcode_26.app) instead of relying on the image default.

3. Rebuild frameworks if needed

Third-party binary frameworks do not need the new SDK, but they must work with it: if one fails to link or crashes, upgrade it.

Check before you submit

Upload the IPA on the store check page. It runs APPSTORE-SDK-VERSION against the dates on this page, then deletes the file: nothing about the app is kept. The same engine runs offline in the Narvy CLI, and exits with code 1 when a blocker is found, so it can gate a CI job.

Offline, from a terminal (narvy-cli 1.2.0 or later)
narvy store-check MyApp.ipa

Check a build in the browser

FAQ

Do I have to drop support for older iOS versions?

No. The SDK version and the deployment target are separate. The minimum deployment target App Store Connect accepts is a different rule (see the related page).

Why does the check say "not determined"?

When the SDK recorded in the Info.plist and in the executable disagree, or are missing, the check does not guess. A normal Xcode build records both.