【问题标题】:Unity ios build folder is emptyunity ios 构建文件夹为空
【发布时间】:2017-05-24 16:54:38
【问题描述】:

我想为 IOS 构建我的项目。我选择文件夹并构建我的项目。在构建结束时,我的文件夹是空的。为什么?你能帮帮我吗?

控制台出现错误:

运行失败 /Applications/Unity/Unity.app/Contents/Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe --api NET_2_0_Subset -out "/Users/arifsanat/Desktop/CityCars/Temp/StagingArea/Data/Managed/tempStrip" - l none -c link -b False -x "/Applications/Unity/PlaybackEngines/iOSSupport/Whitelists/Core.xml" -f "/Applications/Unity/Unity.app/Contents/il2cpp/LinkerDescriptors" -x "/Users/ arifsanat/Desktop/CityCars/Temp/StagingArea/Data/Managed/../platform_native_link.xml" -x "/Users/arifsanat/Desktop/CityCars/Temp/StagingArea/Data/methods_pointedto_by_uievents.xml" -x "/Users/arifsanat /Desktop/CityCars/Temp/StagingArea/Data/preserved_derived_types.xml" -x "/Users/arifsanat/Desktop/CityCars/Assets/link.xml" -d "/Users/arifsanat/Desktop/CityCars/Temp/StagingArea/Data /Managed" -a "/Users/arifsanat/Desktop/CityCars/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" -a "/Users/arifsanat/Desktop/CityCars/Temp/StagingArea/Data/Managed/UnityEngine .UI.dll"

标准输出: 扫描报告: System.MonoType => Mono.Cecil.TypeDefinitionMono.Cecil.TypeDefinitionMono.Cecil.TypeDefinitionMono.Cecil.TypeDefinitionMono.Cecil.TypeDefinition Mono.Cecil.MethodDefinition => System.Void .ctor()System.Void .ctor(System.String)System.String get_Comment()System.Void .ctor()System.Boolean get_CanTransformMultipleBlocks() Mono.Cecil.FieldDefinition => System.String commentSystem.Func3<System.Int32,System.Int32,System.Int32> <>f__am$cache0System.Func3 f__am$cache1System.Func3<System.Double,System.Double,System.Double> <>f__am$cache2System.Func3 f__am$cache3 Mono CIL 链接器中的致命错误 Mono.Cecil.ResolutionException:无法解析 UnityEngine.RenderTexture 在 UnusedBytecodeStripper2.AddUnresolvedStubsStep.Process () in :0 在 Mono.Linker.Steps.BaseStep.Process (Mono.Linker.LinkContext 上下文) in :0 在 Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext 上下文) in :0 在 Mono.Linker.Driver.Run (IEqualityComparer1 typeComparer, IEqualityComparer1 methodComparer) in :0 在 Mono.Linker.Driver.RunDriverWithErrorHandling (Mono.Linker.Driver 驱动程序,IEqualityComparer1 typeComparer, IEqualityComparer1 methodComparer) in :0 在 Mono.Linker.Driver.RunDriver (Mono.Linker.Driver 驱动程序,IEqualityComparer1 typeComparer, IEqualityComparer1 methodComparer) in :0

【问题讨论】:

  • 您确定查看了正确的文件夹吗?构建您的项目需要多长时间?您是否将场景包含在构建中?
  • 是的,我确定。时间很短
  • 在构建时,您可以在构建设置中选择要包含在构建中的场景。点击文件->构建设置->勾选你想要的场景
  • 您是否使用 Files->Build&Run 进行构建?
  • 是的,它的文件夹也是空的

标签: ios unity3d build


【解决方案1】:

执行以下步骤:

  1. 检查您的player setting。 对我来说,在这里使用 Unity 构建 iOS 应用程序时几乎遇到了麻烦。 (如果一切正常,请转到 2

  2. 尝试构建一个空的(或简单的)Unity 项目,并确保您可以构建该项目并在 Xcode 上成功运行。

  3. 如果 1. 2. 没问题,那么问题肯定出在您的代码中,请先检查您的 iOS 插件代码(如果有),然后再检查 C# 代码。

  4. 如果 1.2.3 还可以,请尝试重新安装 Unity、Xcode 应用。

  5. 如果连 4 个都无法解决您的问题,请发送bug report

希望对您有所帮助!

【讨论】:

  • 1 和 2 没问题。我无法理解 3. 我应该检查什么?我的代码适用于android。我应该为 ios 做点什么吗?
  • 对不起,我已经编辑了帖子。如果您使用 iOS 插件,您应该检查该代码。这就是我的意思。
  • 我没有使用IOS插件代码。我应该在我的 ios 的 c# 代码中添加任何内容吗?
  • 不,你不需要添加任何东西来为 iOS 构建。
【解决方案2】:

我们已查明此问题的原因。这是 UnusedBytecodeStripper2 中的一个错误,如果一切顺利,我们应该在 5.5.1p1 补丁版本中进行修复。

但也许可以解决这个问题。项目中的某些程序集使用 UnityEngine.RenderTexture::generateMips 属性,该属性在 Unity 5.5 中重命名为 autoGenerateMips。 API 更新程序将正确地对程序集进行此更改,但在错误报告中,API 更新程序未在此程序集上运行,原因不明。本例中的程序集是 Vuforia.UnityExtensions.dll,但任何程序集都可能受到影响。

因此,可以通过确保 API 更新程序已在项目中的所有程序集上运行来解决此问题。您可以使用 ILSpy 或 ildasm 来检查程序集的内容。确保程序集在 API 更新程序修改后不引用 UnityEngine.RenderTexture::generateMips。

【讨论】:

    【解决方案3】:

    我遇到了同样的错误。我通过检查第三方插件解决了它。这个错误主要是因为link.xml。

    【讨论】:

      【解决方案4】:

      可能是因为您将其构建到 Assets 文件夹中?尝试将其保存到 Unity 项目之外的文件夹中。

      【讨论】:

      • Unity 5.5.1p4 解决了这个问题,感谢您的回答:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 2018-08-15
      相关资源
      最近更新 更多