Unity 5.2.3 - 现在无法在iOS上构建3个月

时间:2015-12-09 05:27:41

标签: c# ios unity3d compiler-errors il2cpp

我必须使用Unity 5.2.3在App Store上更新游戏。

我已经收到很多与il2cpp相关的错误,因为我无法再为iOS构建....这已经持续了3个月了......已经尝试了从5.1.2到5.2的所有Unity版本.3 ....你可以想象它对我们的业务不利。

之前已在Unity论坛上发布此问题并发布了Bug报告,但仍未找到解决此问题的方法。

我再次发布了在Unity3D中构建iOS时出现的这些错误:

ERROR 1/4:
  

IL2CPP错误(没有关于托管代码的更多信息   已转换可用)其他信息:构建开发   建立更多信息。无法解决装配:' ...项目   路径...(09年12月,版本= 0.0,文化=中立,PublicKeyToken = null'

ERROR 2/4:
  

运行失败/ Applications / Unity   5.2.3 / Unity.app / Contents / Frameworks / il2cpp / build / il2cpp.exe --convert-to-cpp --copy-level = None --emit-null-checks --enable-array-bounds-check - -extra-types.file =" / Applications / Unity 5.2.3 / Unity.app / Contents / Frameworks / il2cpp / il2cpp_default_extra_types.txt"   --assembly =" ...项目路径... /Temp/StagingArea/Data/Managed/Assembly-CSharp-firstpass.dll"   --assembly ...项目路径... /Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" --assembly项目...   path ... /Temp/StagingArea/Data/Managed/UnityEngine.UI.dll"   --assembly =" ...项目路径... /Temp/StagingArea/Data/Managed/UnityEngine.dll"   --generatedcppdir =" ...项目路径... / Temp / il2cppOutput / il2cppOutput"

     

stdout:IL2CPP错误(没有关于托管代码的更多信息   正在转换可用)附加信息:建立一个   开发构建以获取更多信息。无法解决装配:   &#39; ...项目路径...(09年12月,版本= 0.0,文化=中立,   公钥=空&#39; il2cpp.exe没有捕获异常:   Mono.Cecil.AssemblyResolutionException:无法解析程序集:   &#39; ...项目路径...(09年12月,版本= 0.0,文化=中立,   公钥=空&#39;在Unity.IL2CPP.Common.AssemblyLoader.Resolve   (IMetadataScope范围)[0x00000] in:0 at   Unity.IL2CPP.Common.AssemblyLoader.Load(System.String name)[0x00000]   in:0 at   Unity.IL2CPP.AssemblyConverter + c__AnonStorey1&LT;&GT; m__0   (System.String path)[0x00000] in:0 at   System.Linq.Enumerable + c__Iterator10 2[System.String,Mono.Cecil.AssemblyDefinition].MoveNext () [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.ToArray[AssemblyDefinition] (IEnumerable 1   来源)[0x00000] in:0 at   Unity.IL2CPP.AssemblyConverter.CollectAssembliesToConvert()[0x00000]   in:0在Unity.IL2CPP.AssemblyConverter.Apply()   [0x00000] in:0 at   Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(System.String []   程序集,NiceIO.NPath outputDir)[0x00000] in:0   标准错误:

     

未处理的异常:Mono.Cecil.AssemblyResolutionException:失败   解决汇编:&#39; ...项目路径......(09年12月,版本= 0.0,   Culture = neutral,PublicKeyToken = null&#39;在   Unity.IL2CPP.Common.AssemblyLoader.Resolve(IMetadataScope范围)   [0x00000] in:0 at   Unity.IL2CPP.Common.AssemblyLoader.Load(System.String name)[0x00000]   in:0 at   Unity.IL2CPP.AssemblyConverter + c__AnonStorey1&LT;&GT; m__0   (System.String path)[0x00000] in:0 at   System.Linq.Enumerable + c__Iterator10 2[System.String,Mono.Cecil.AssemblyDefinition].MoveNext () [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.ToArray[AssemblyDefinition] (IEnumerable 1   来源)[0x00000] in:0 at   Unity.IL2CPP.AssemblyConverter.CollectAssembliesToConvert()[0x00000]   in:0在Unity.IL2CPP.AssemblyConverter.Apply()   [0x00000] in:0 at   Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(System.String []   程序集,NiceIO.NPath outputDir)[0x00000] in:0   [错误]致命未处理例外情况:   Mono.Cecil.AssemblyResolutionException:无法解析程序集:   &#39; ...项目路径...(09年12月,版本= 0.0,文化=中立,   公钥=空&#39;在Unity.IL2CPP.Common.AssemblyLoader.Resolve   (IMetadataScope范围)[0x00000] in:0 at   Unity.IL2CPP.Common.AssemblyLoader.Load(System.String name)[0x00000]   in:0 at   Unity.IL2CPP.AssemblyConverter + c__AnonStorey1&LT;&GT; m__0   (System.String path)[0x00000] in:0 at   System.Linq.Enumerable + c__Iterator10 2[System.String,Mono.Cecil.AssemblyDefinition].MoveNext () [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.ToArray[AssemblyDefinition] (IEnumerable 1   来源)[0x00000] in:0 at   Unity.IL2CPP.AssemblyConverter.CollectAssembliesToConvert()[0x00000]   in:0在Unity.IL2CPP.AssemblyConverter.Apply()   [0x00000] in:0 at   Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(System.String []   程序集,NiceIO.NPath outputDir)[0x00000] in:0

     

UnityEngine.Debug:LOGERROR(对象)   UnityEditorInternal.Runner:RunManagedProgram(String,String,String,   CompilerOutputParserBase)(at   /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:68)   UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection 1, String, String) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:417) UnityEditorInternal.IL2CPPBuilder:Run() (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:301) UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action 1,RuntimeClassRegistry)(at   /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:218)   UnityEditor.HostView:OnGUI()

ERROR 3/4:
  

异常:/ Applications / Unity   5.2.3 / Unity.app / Contents / Frameworks / il2cpp / build / il2cpp.exe无法正常运行! UnityEditorInternal.Runner.RunManagedProgram   (System.String exe,System.String args,System.String   workingDirectory,   UnityEditor.Scripting.Compilers.CompilerOutputParserBase解析器)(at   /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:70)   UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp(ICollection 1 userAssemblies, System.String outputDirectory, System.String workingDirectory) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:417) UnityEditorInternal.IL2CPPBuilder.Run () (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:301) UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action 1 modifyOutputBeforeCompile,   UnityEditor.RuntimeClassRegistry runtimeClassRegistry)(at   /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:218)   UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess   (UnityEditor.iOS.iOSBuildPostprocessor pp,BuildTarget target,   System.String stagingAreaData,System.String stagingArea,   System.String stagingAreaDataManaged,System.String playerPackage,   System.String installPath,System.String companyName,System.String   productName,BuildOptions选项,UnityEditor.RuntimeClassRegistry   usedClassRegistry)UnityEditor.iOS.iOSBuildPostprocessor.PostProcess   (BuildPostProcessArgs args)   UnityEditor.PostprocessBuildPlayer.Postprocess(BuildTarget target,   System.String installPath,System.String companyName,System.String   productName,Int32 width,Int32 height,System.String   下载WebplayerUrl,System.String manualDownloadWebplayerUrl,   BuildOptions选项,UnityEditor.RuntimeClassRegistry   usedClassRegistry)(at   /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:316)   UnityEditor.HostView:OnGUI()

ERROR 4/4:
  

构建播放器时出错:异常:/ Applications / Unity   5.2.3 / Unity.app / Contents / Frameworks / il2cpp / build / il2cpp.exe无法正常运行!

我在这个问题上需要帮助,否则我们可能不得不放弃这个项目,并使用其他游戏引擎制作未来的游戏项目!

1 个答案:

答案 0 :(得分:0)

我会给其他开发人员一个很长的答案可能会觉得它很有用。你应该选择最底层的案例。

我不知道问题是什么。我也对旧游戏进行了更新,并得到了许多奇怪的错误。大多数情况下,我无法附加现有的x32 xCode项目(主要是由于缺乏我的iOS经验,因此制作新的xCode项目的速度较少)。所以:

确保删除了所有x32插件,或更新了

旧游戏很可能正在使用像Etcetera或Prime31这样的x32插件......这些可能会阻止ill2cpp编译。如果可能的话,将它们更新为x64或删除它们,并在Objective C或Swift中编写自己的实现。

制作新的xCode项目

没有必要,但如果你像我一样懒惰你应该。这主要是由于切换到ill2cpp构建。使用ill2cpp构建一个全新的xCode项目,并尝试将您对旧xCode项目所做的所有更改传输到此项目。或者,您可以附加旧项目,但要确保知道ill2cpp项目在xCode中的结构,以及项目设置和iOS的一般基本经验。

制作新的Unity项目

这是最后的选择。如果你使用版本控制系统,它可能会发疯。无论如何 - 如果上述步骤不起作用,你必须尝试这个 - 制作一个新文件夹来存储一个新项目;将资产和项目设置文件夹复制到新文件夹;将新文件夹作为Unity中的项目打开(Unity会抱怨丢失文件,但会为您重新创建项目)。然后再次执行创建一个新的xCode项目步骤。

希望它有所帮助。