iOS SDK 17 Packaging Failures in Unreal Engine 5.1.1

iOS SDK 17 Packaging Failures in Unreal Engine 5.1.1
The project currently in development is using Unreal Engine 5.1.1, which was previously using iOS SDK 16.2. However, I uploaded the .IPA file packaged to iOS to Transporter, and after April 29, 2024, I got a warning to use iOS SDK 17. In fact, TestFlight upload has not been possible since April 29, 2024.

'Asset validation failed (90725)
SDK version issue. This app was built with the iOS 16.2 SDK. All iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution.() ’

Is there a way to use iOS SDK17 version in Unreal Engine 5.1.1 when that message pops up?

When packaged to iOS SDK 17.4, the following error occurs:
Platform IOS is not a valid platform to build. Check that SDK is installed proly.

2 Likes

Did you ever resolve this? Currently dealing with the exact same issue :frowning:

Any fix for this? Super frustrating.

I am also using Unreal 5.1.1 and have resolved this issue with the following steps. Hope it helps anyone else facing similar issue with the new IOS SDK 17 requirement from App Store.

  1. In order to build IOS SDK 17, your xcode needs to be at least version 15, and in order to install xcode 15.x, you may need to upgrade your MacOS. See this page for version requirements: Xcode - Support - Apple Developer

Personally I just got the latest at the time of writing (xcode 15.4 for Sonoma 14).
I had some issues with updating xcode from the store, so I had to follow some guide on how to completely removing my xcode and reinstalling the latest stable release.

Take note that once you perform the updates, you can no longer open UE Editor. You have been warned!!

2 . Once MacOS and Xcode are updated to the correct version, you need to work with UE program source (for UEBuildTool only) to make a minor modification in order to perform the packaging for the new SDK.

This is because the SDK checker in the build tool performs SDK version validation and restricts it to 14.9.9 as its max version. This version number is actually the Xcode version (not the Mac or IOS SDK). Since the new xcode version is 15.x, this validation will fail.

  1. Go to your Unreal installation directory. Typically it’s:
    ~/Shared/Epic Games/UE_5.1

Modify and save changes for this file: Engine/Source/Programs/UnrealBuildTool/Platform/Mac/ApplePlatformSDK.Version.cs

Change

MaxVersion = “14.9.9”

to

MaxVersion = “15.9.9”

  1. Fire up a terminal and enter the following commands:

cd ~/Shared/Epic Games/UE_5.1/Engine/Build/BatchFiles/Mac
dotnet build …/…/…/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj -c Development

  1. Copy the following files from:
    ~/Shared/Epic Games/UE_5.1/Binaries/DotNet/UnrealBuildTool
    to
    ~/Shared/Epic Games/UE_5.1/Binaries/DotNet/AutomationTool

UnrealBuildTool
UnrealBuildTool.dll
UnrealBuildTool.pdb
UnrealBuildTool.xml
EpicGames.Build.dll
EpicGames.Build.pdb

In theory, you could also dotnet build AutomationTool project, but these were the steps I took, so I just listed as it is.

If you want to revert steps 4 and 5, you could of course go to Epic Launcher and repair or reinstall the engine.

  1. Next, you need to go to your Project (or Game) folder, and modify the Editor.Target.cs and Target.cs files due to changes in the new xcode toolchain. Or compilation will fail.
    Add the following check at the top of the constructor for both files:

if (Target.Platform == UnrealTargetPlatform.Mac || Target.Platform == UnrealTargetPlatform.IOS)
{
bOverrideBuildEnvironment = true;
AdditionalCompilerArguments = “-Wno-error -Wno-deprecated-builtins”;
}

For this step, credits to:

Now you should be able to open your uproject file normally and package for IOS. Hope this works for whoever is seeing this.

Hi everyone, i am having the same issue with ue5.4.4 after building and uploading to apple i got an email that this was built with ios sdk 16 and it must be 17, but after finding the apple platform sdk and opening it with a notepad it is already set to max version 15… !
any help would be appreciated, i am building on windows, not mac.

Hey. Have you found a solution?