Automatic signing is unable to resolve an issue with the target's entitlements file

The proper fix to the issue to fix UnrealBuildTool:

For some reason bForDistribution param to the function that writes the entitlements file is hardcoded to false.
Replacing it with “InTarget.Configuration == UnrealTargetConfiguration.Shipping” solves the issue.
This parameter is used to write “get-task-allow” value to true or false.

In Engine\Source\Programs\UnrealBuildTool\Platform\IOS\UEDeployIOS.cs on line 1098:

if (BuildHostPlatform.Current.Platform == UnrealTargetPlatform.Mac && Environment.GetEnvironmentVariable("UBT_NO_POST_DEPLOY") != "true")
{
	//REPLACE
	// return PrepForUATPackageOrDeploy(InTarget.Configuration, InTarget.ProjectFile, GameName, ProjectDirectory, BuildPath + "/" + DecoratedGameName, "../../Engine", **false**, "", false, InTarget.bCreateStubIPA, InTarget.BuildReceiptFileName);
	
	// WITH
	return PrepForUATPackageOrDeploy(InTarget.Configuration, InTarget.ProjectFile, GameName, ProjectDirectory, BuildPath + "/" + DecoratedGameName, "../../Engine", 
	InTarget.Configuration == UnrealTargetConfiguration.Shipping, // not hardcoded
		"",  false, InTarget.bCreateStubIPA, InTarget.BuildReceiptFileName);
}

This bug should be raised to as a bug to UE4.