**Problem **
No longer possible to launch on iPhone after upgrade from 4.18.0 to 4.18.1.
This is a major blocker for me since I’m working with AR and need to test on the phone rather than in a simulator.
Seems that Iphone packaging fails with System.FormatException: Unknown char at at UnrealBuildTool.IOSExports.SupportsIconCatalog
This seems to be happening while creating a plist during IOSPlatform.GetFilesToDeployOrStage and BuildCookRun.DoBuildCookRun
System
-
MacBook Pro, 15-inch 2017, 3,1GHz,
16GB RAM, Radeon Pro 560 4GB + Intel
HD Graphics 630 1536 MB, macOS High
Sierra Version 10.13.1 -
iPhone 6s, iOS 11.2 developer beta 4,
Xcode 9.2 beta (also tried with Xcode
9 non-beta) -
Unreal Engine UE 4.18.1
Steps to reproduce:
New project → Blueprint → First Person starter content with Mobile/Tablet, Maximum Quality and With starter content
Add IOS certificates in project settings and click Launch (on iPhone).
Possible hints
xxx UPDATE xxx:
Seems to be related to the code here https://github.com/EpicGames/UnrealEngine/blob/dbced2dd59f9f5dfef1d7786fd67ad2970adf95f/Engine/Source/Programs/UnrealBuildTool/Platform/IOS/IOSExports.cs
The exception is probably thrown while reading additional properties. The only place where I’ve found those in my project are in a file Binaries/IOS/[projectname].target
In that file it says:
"AdditionalProperties": [
{
"Name": "SDK",
"Value": "11,2"
}
]
So somewhere in the system the SDK is reported as 11,2 with a comma, I think that might be related to the parsing failure. And even if it didn’t fail it would probably parse the wrong number since comma means something else.
Might have something to do with me running Swedish locale on my Mac since In Swedish comma means decimal delimiter.
Outcome:
LogPlayLevel: ********** STAGE COMMAND STARTED **********
LogPlayLevel: Creating UE4CommandLine.txt
LogPlayLevel: Creating Staging Manifest...
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 21.590294
LogPlayLevel: CookPlat IOS, this IOSPlatform
LogPlayLevel: UPL Init: None
LogPlayLevel: ERROR: System.FormatException: Unknown char
LogPlayLevel: at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0
LogPlayLevel: at System.Single.Parse (System.String s) [0x00000] in <filename unknown>:0
LogPlayLevel: at UnrealBuildTool.IOSExports.SupportsIconCatalog (UnrealTargetConfiguration Config, Tools.DotNETCommon.DirectoryReference ProjectDirectory, Boolean bIsUE4Game, System.String ProjectName) [0x00000] in <filename unknown>:0
LogPlayLevel: at UnrealBuildTool.UEDeployIOS.GenerateIOSPList (Tools.DotNETCommon.FileReference ProjectFile, UnrealTargetConfiguration Config, System.String ProjectDirectory, Boolean bIsUE4Game, System.String GameName, System.String ProjectName, System.String InEngineDir, System.String AppDirectory, System.Boolean& bSupportsPortrait, System.Boolean&
bSupportsLandscape, System.Boolean& bSkipIcons, UnrealBuildTool.UEDeployIOS InThis) [0x00000] in <filename unknown>:0
LogPlayLevel: at UnrealBuildTool.UEDeployIOS.GeneratePList (Tools.DotNETCommon.FileReference ProjectFile, UnrealTargetConfiguration Config, System.String ProjectDirectory, Boolean bIsUE4Game, System.String GameName, System.String ProjectName, System.String InEngineDir, System.String AppDirectory, System.Boolean& bSupportsPortrait, System.Boolean& bS
upportsLandscape, System.Boolean& bSkipIcons) [0x00000] in <filename unknown>:0
LogPlayLevel: at UnrealBuildTool.IOSExports.GeneratePList (Tools.DotNETCommon.FileReference ProjectFile, UnrealTargetConfiguration Config, Tools.DotNETCommon.DirectoryReference ProjectDirectory, Boolean bIsUE4Game, System.String GameName, System.String ProjectName, Tools.DotNETCommon.DirectoryReference InEngineDir, Tools.DotNETCommon.DirectoryRefere
nce AppDirectory, System.Boolean& bSupportsPortrait, System.Boolean& bSupportsLandscape, System.Boolean& bSkipIcons) [0x00000] in <filename unknown>:0
LogPlayLevel: at IOSPlatform.DeployGeneratePList (Tools.DotNETCommon.FileReference ProjectFile, UnrealTargetConfiguration Config, Tools.DotNETCommon.DirectoryReference ProjectDirectory, Boolean bIsUE4Game, System.String GameName, System.String ProjectName, Tools.DotNETCommon.DirectoryReference InEngineDir, Tools.DotNETCommon.DirectoryReference AppDi
rectory, System.Boolean& bSupportsPortrait, System.Boolean& bSupportsLandscape, System.Boolean& bSkipIcons) [0x00000] in <filename unknown>:0
LogPlayLevel: at IOSPlatform.GetFilesToDeployOrStage (AutomationTool.ProjectParams Params, DeploymentContext SC) [0x00000] in <filename unknown>:0
LogPlayLevel: at Project.CreateStagingManifest (AutomationTool.ProjectParams Params, DeploymentContext SC) [0x00000] in <filename unknown>:0
LogPlayLevel: at Project.CopyBuildToStagingDirectory (AutomationTool.ProjectParams Params) [0x00000] in <filename unknown>:0
LogPlayLevel: at BuildCookRun.DoBuildCookRun (AutomationTool.ProjectParams Params) [0x00000] in <filename unknown>:0
LogPlayLevel: at BuildCookRun.ExecuteBuild () [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.BuildCommand.Execute () [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.Automation.Execute (System.Collections.Generic.List`1 CommandsToExecute, System.Collections.Generic.Dictionary`2 Commands) [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.Automation.Process (System.String[] Arguments) [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.Program.MainProc (System.Object Param) [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.InternalUtils.RunSingleInstance (System.Func`2 Main, System.Object Param) [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.Program.Main () [0x00000] in <filename unknown>:0
LogPlayLevel: (see /Users/[USERNAME]/Library/Logs/Unreal Engine/LocalBuildLogs/UAT_Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=1 (Error_Unknown)
LogPlayLevel: Completed Launch On Stage: Deploy Task, Time: 0.000055
LogPlayLevel: RunUAT ERROR: AutomationTool was unable to run successfully.
PackagingResults: Error: Launch failed! Unknown Error