While using Unreal Engine 5.1 (Windows platform) for iOS remote packaging, the com.apple.developer.associated-domains
key is not correctly written to the final IPA file(ensuring the corresponding capabilities are enabled in the MobileProvision). Although the correct values are visible in the .entitlements
file in the Intermediate/IOS directory, the value in the packaged IPA file appears as <string>*</string>
instead of the expected list of domains.
Steps to Reproduce:
-
In the Unreal Engine 5.1 project, make the following modifications:
- Modify the
IOSExports.cs
file by adding the following code in theWriteEntitlements
method:List<string> AssociatedDomains; if (PlatformGameConfig.GetArray("/Script/IOSRuntimeSettings.IOSRuntimeSettings", "AssociatedDomains", out AssociatedDomains)) { Text.AppendLine("\t<key>com.apple.developer.associated-domains</key>"); Text.AppendLine("\t<array>"); foreach (var Domain in AssociatedDomains) { if (string.IsNullOrEmpty(Domain)) { continue; } Console.WriteLine(string.Format("Write AssociatedDomains {0} entitlements", Domain)); Text.AppendLine(string.Format("\t\t<string>applinks:{0}</string>", Domain)); } Text.AppendLine("\t</array>"); }
- Modify the
-
Configure
Associated Domains
in the project settings, e.g.,applinks:example.com
. -
Use the Windows platform for iOS remote packaging.
-
On the Mac, check the
.entitlements
file in the Intermediate/IOS directory to confirm that thecom.apple.developer.associated-domains
key is correctly written. -
Inspect the packaged IPA file and find that the value for
com.apple.developer.associated-domains
is<string>*</string>
instead of the expected list of domains. -
Attempt to write other types of entitlements:
- For example,
com.apple.developer.kernel.increased-memory-limit
, and confirm that these values are correctly written to the IPA file (ensuring the corresponding capabilities are enabled in the MobileProvision).
- Upgrade to Unreal Engine 5.3.2:
- The issue persists even after upgrading.