XCode 14.2 generates App.entitlements file WITHOUT capability 'com.apple.developer.kernel.increased-memory-limit'

Hi,

I'm new to Apple with Unreal Engine. So we have 4GB devices which are crashing because of 2.05GB memory limit. We want to increase the limit and we were doing some R&D on the same. We got IOS provisioning with capability ‘com.apple.developer.kernel.increased-memory-limit' and while building for the ‘Development Editor’ for Mac (just to open the editor), XCode is sweet enough to:

Generate 'UE4_PROJECT_ROOT/Intermediate/ProjectFiles/BUNDLE_NAME.entitlements'. It shows the key as ‘Increased Memory limit’ of Type Boolean set to Yes.

Generate ‘UE4_PROJECT_ROOT/Intermediate/IOS/UNREAL_APP_NAME-Info.plist'. It shows the key with capability ‘com.apple.developer.kernel.increased-memory-limit' set as Yes (Boolean).

However, it:

Generates the Entitlements.plist file in the 'UE4_PROJECT_ROOT/Intermediate/ProjectFiles/build/APP_NAME.build/Development-iphoneos/BUNDLE_NAME.build/DerivedSources/Entitlements.plist' WITHOUT the key capability mentioned above. On compiling the code for ‘Development’ for IOS, Xcode:

Generates ‘../Intermediate/IOS/UNREAL_PROJECT_NAME.entitlements file WITHOUT the key capability.

The end result being we are able to make builds that are limited by memory. Our game keeps crashing. Any sort of help would be really helpful!

Can you reproduce this with a new test project that you create from the iOS > App template?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Yeah sure I will try that and let you know

Hi Quinn,

I've tried it with a separate project too. It is creating a *.entitlements file with the Increased Memory Limit capability. As a matter of fact, in my Unreal Engine project, it is also adding the capability in 3 files. These are generated while building the 'Development Editor' for Unreal Engine:

  1. UE_PROJECT_DIR/Intermediate/ProjectFiles/Whoosh.entitlements
  2. UE_PROJECT_DIR/Intermediate/ProjectFiles/build/Whoosh.build/Development-iphoneos/Whoosh.build/PhotonDemoParticle.app.xcent
  3. UE_PROJECT_DIR/Intermediate/ProjectFiles/build/Whoosh.build/Development-iphoneos/Whoosh.build/DerivedSources/Entitlements.plist

Post this I trigger the build for 'Development' for IOS devices. Then 2 more files are generated in the directory:

  1. UE_PROJECT_DIR/Intermediate/IOS/PhotonDemoParticle-Info.plist
  2. UE_PROJECT_DIR/Intermediate/IOS/PhotonDemoParticle.entitlements

The PhotonDemoParticle-Info.plist file has the 'com.apple.developer.kernel.increased-memory-limit' capability as boolean and value set to YES. But I am not seeing the capability in the PhotonDemoParticle.entitlements file.

Could you tell me what is going wrong here? The PhotonDemoParticle.entitlements is the last file generated in the build process and I'm not sure why it doesn't contain the capability!

Is there any way I can add the capability in the entitlement file here manually and then stop XCode from overwriting this file?

I've tried it with a separate project too. It is creating a *.entitlements file with the Increased Memory Limit capability.

I’m not sure how to interpret this. Does it mean that the problem reproduces in your new test project?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

XCode 14.2 generates App.entitlements file WITHOUT capability 'com.apple.developer.kernel.increased-memory-limit'
 
 
Q