错误:无法实例化模块“启动”:System.FormatException:输入字符串的格式不正确

时间:2019-07-11 22:00:57

标签: unreal-engine4 unreal-blueprint

当我尝试将iOS应用程序从Unreal Engine上传到iTunes Connect时,出现以下错误:

错误:无法实例化模块“启动”:System.FormatException:输入字符串的格式不正确。

所有的感觉。

日志:

<canvas id="canvas"></canvas>

它应该正确上传!!

1 个答案:

答案 0 :(得分:0)

让我们尝试找到根据此行调用的get_RuntimeVersion

UATHelper: Packaging (iOS):            at UnrealBuildTool.ReadOnlyIOSTargetRules.get_RuntimeVersion () [0x00010] in <ce5e2d2c06a1499db483036381a9dbb3>:0

我们将找到UEBuildIOS.cs和ReadOnlyIOSTargetRules子类。有属性“ RuntimeVersion”。通过分析运行时版本(特别是iOS版本)评估此属性。版本是一个浮点值,例如11.0或12.0。

让我们看看这一行

UATHelper: Packaging (iOS):   ERROR: Unable to instantiate module 'Launch': System.FormatException: Input string was not in a correct format.
UATHelper: Packaging (iOS):            at System.Number.ParseSingle (System.String value, System.Globalization.NumberStyles options, System.Globalization.NumberFormatInfo numfmt) [0x00083] in <98fac219bd4e453693d76fda7bd96ab0>:0

输入字符串的格式不正确-我认为问题是十进制分隔符。我试图将Mac设置更改为使用其他分隔符,但这不起作用。

然后我尝试使用“。”在UEBuildIOS.cs吸气之前

        public float RuntimeVersion
        {
            get {
             System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
             customCulture.NumberFormat.NumberDecimalSeparator = ".";

             System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
             return float.Parse(Inner.ProjectSettings.RuntimeVersion); 
            }
        }

现在,应用程序可以构建并部署到iPhone。

这只是一种解决方法,我们需要更深入地了解原因。