Packaging for iOS Distribution from Windows using Remote Compile results in a failure during the signing portion. This seems to be caused by a hardcoded "false" for a property that is used to determine if the current build is for Distribution or not. Changing this to not be hardcoded resolves the issue. However, this line was not changed between 4.20 and 4.21 despite this being a regression, so the cause for this to start occurring must be elsewhere.

The line in question is in Engine\Source\Programs\UnrealBuildTool\Platform\IOS\UEDeployIOS.cs on line 1098

return PrepForUATPackageOrDeploy(InTarget.Configuration, InTarget.ProjectFile, GameName, ProjectDirectory, BuildPath + "/" + DecoratedGameName, "../../Engine", *false*, "", false, InTarget.bCreateStubIPA, InTarget.BuildReceiptFileName);

where the first "false" is the hardcoded value. The user reports that replacing this value with

 InTarget.Configuration == UnrealTargetConfiguration.Shipping 

fixes the issue, but I cannot be sure if this is the proper fix and will not cause issues elsewhere.

I've attached a log with the failed packaging process

Regression?: Yes
This did not occur in 4.20.3

Steps to Reproduce
  1. Create a C++ project (blank project is fine)
  2. Add a Distribution Provision and Certificate
  3. Set up for remote build
  4. Change settings in Project Settings > Packaging to enable "For Distribution" (which should set it to Shipping automatically)
  5. Package for iOS
    Result: When the compilation is nearly done and the signing begins, it fails
    Expected: The packaging process completes successfully

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-70358 in the post.

Login to Vote

ComponentPlatform - Mobile
Affects Versions4.214.224.23
Target Fix4.22
Fix Commit5382950
Main Commit5383057
Release Commit5382950
CreatedFeb 20, 2019
ResolvedMar 13, 2019
UpdatedSep 16, 2019