iOS 26 SDK & App Store Submission

Apple requires apps uploaded to App Store Connect to 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. Please refer to the official announcement from Apple here.

UE 5.7 and 4.27+ have been validated to be functional when building against the iOS 26 SDK using Xcode 26.1.1.** You can find Xcode 26.1.1 on Apple Developer’s download archive. No changes are required — open your Xcode project with Xcode 26.1.1 and build as normal.

A few things worth knowing regardless of version:

  • Xcode version matters. Use Xcode 26.1.1. Avoid Xcode 26.4 for now — it includes a Clang update that introduces new compiler issues we’re still working through.

  • Known issue: shader library corruption on iOS 16. If your app needs to support iOS 16 devices, be aware of a known issue (UE-333130) where metallibs built with the iOS 26 SDK can crash on iOS 16. Refer to iOS 15.x Crash (Corrupted Library) Occurring in Unreal Engine 5.7 - #4 by anonymous-edc for more details. If your minimum deployment target is iOS 17 or higher, this doesn’t affect you.

:victory_hand:

1 Like

@paul.georges

Thanks for the valuable information I got from this.

However - based on my experience - the generated app is still stamped as iOS 18.1 SDK and triggers ITMS-90725 in App Store Connect.
So this workaround - I believe - only fixes UE validation, not App Store SDK compliance.

I understand the validated setup mentions Xcode 26.1.1.
In my case I’m using Xcode 26.2, so I wanted to check whether this difference could explain why the build is still stamped with iOS 18.1 SDK.

I am using Unreal Engine 5.7.4 with Xcode 26.2 on macOS.

Apple has already started enforcing iOS 26 SDK (from April 28, 2026), but UE still builds the app with iOS 18.1 SDK (I submitted my build after enforcement was active for Testflight on 28th Apr at 2000 hrs (?), GMT, but Apple still allowing uploads in my case - but warning was active.

Details:

  • Xcode version: 26.2
  • iOS SDK (xcrun --show-sdk-version): 26.2
  • UE version: 5.7.4 (Launcher)
  • Apple_SDK.json updated:
    MainVersion: 26.2
    MaxVersion: 26.9.0
    Mapping: 26.2.0-19.1.5
  • I understand the Apple_SDK_Jason update is just a workaround to allow UE/Xcode detection, not a confirmed App Store compliance fix.

Result:

  • Build succeeds
  • Upload to App Store Connect succeeds
  • But warning:
    “This app was built with the iOS 18.1 SDK”

TestFlight works, but App Store submission is likely to fail.

Questions:

  1. Is UE 5.7.4 officially supporting iOS 26 SDK?
  2. Is there a known fix or workaround?
  3. Will this be fixed in 5.7.5 or 5.8?

Thanks.

1 Like

I’m not sure why they tell us to avoid Xcode 26.4 for now. I’m using that same version and all my UE projects compile and build fine against iOS 26 SDK with no errors…

Hi @Sensenok ,

Xcode 26.4 should be avoided as it includes a major toolchain update to Apple Clang 21.0.0. This version introduces significant updates to C++ support. Specifically upgraded is LLVM 19 to 21. It features stricter handling of consteval functions and implicit type conversions between different sizes. As such, any released builds of UE predating it will not compile out of the box and would require code edits or warning silencing.

Best regards.

1 Like

Hey @bsun31,

Would you mind sharing more details about how you’re going about building your iOS package for submission please?

  • Are you opening the intermediate Xcode project to build manually or are you packaging from the Editor?
  • What’s the output of xcode-select -p in Terminal?
  • Did you take at the pbxproj file of your Xcode project? What IPHONEOS_DEPLOYMENT_TARGET is it citing?
  • Did you take a look at the Info.plist in your generated IPA? What SDK version is it citing? Look for keys prefixed with “DT”.

Kind regards :victory_hand:

Hey @paul.georges

Apologies for the delayed response — it took me some time to properly inspect the generated Xcode project/archive details and gather the requested information.

Thanks again for the follow-up.

  1. I am building/submitting through Xcode Archive, not directly from the Unreal Editor. The Editor packaging route was not correctly detecting my identifier/certificates, so I generated the iOS Xcode project from UE5.7 and archived through Xcode manually.

  2. xcode-select -p output:

/Applications/Xcode.app/Contents/Developer

  1. I checked the generated Xcode project settings. The deployment target is set to:
iOS 15.0

  1. I also inspected the generated archive Info.plist inside the archived app package. The relevant values are:
DTPlatformVersion = 26.2
DTSDKName = iphoneos26.2
DTXcode = 2620
MinimumOSVersion = 15.0

However, App Store Connect still reports the warning:

"This app was built with the iOS 18.1 SDK"

One additional observation:

Even after the iOS SDK 26 enforcement date began, the upload itself was still accepted successfully into App Store Connect/TestFlight (with warning only, not rejection).

This particular archive/upload was completed successfully on:

28 Apr 2026 around 21:05

So the archive metadata appears to indicate the app is already being built with the iOS 26.2 SDK through Xcode 26, despite the upload warning still appearing.

I attached screenshots of both the archive metadata and the App Store Connect warning for reference.

Hopefully this helps identify the issue on the UE5.7/Xcode pipeline side, and perhaps it can be addressed in a future UE5.7 update or hotfix through the Epic Launcher.

Thanks again for investigating this.

Kind regards :victory_hand:

Bisan