在MacOS上构建Unity3D问题

时间:2019-01-06 22:51:15

标签: c# macos unity3d build

我正在尝试“构建”在Unity3D上创建的游戏项目,但始终会出现与代码无关的错误;据我了解。

  • Unity 3D版本2018.3.0f2
  • MacBook Pro,MacOS Mojave v 10.14.2

在此设备以及其他两个运行Windows 10操作系统的设备上,游戏运行良好。它可以在Windows操作系统上构建,而在MacOS上则没有问题。 该项目是完全相同的;通过闪存驱动器复制以在两者之间传输,并作为git项目拉出。

我尝试通过安装助手和Unity Hub安装Unity3D;都没有改变。

我确保已安装所有必需的依赖项,然后重新安装了多次。干净的安装,重新启动,甚至重新安装了操作系统,就像我刚让这款笔记本电脑可以在Unity游戏开发项目中使用一样。 经过多次失败的尝试后,我专门为此项目制作了分区驱动器,重新安装了所有内容,并在第一时间运行了该项目。测试播放,它运行良好,但仍然无法构建。我这样做是因为我认为这是一个安全性或“访问权限”问题。 这样,我什至允许Mac通过Mac OS的安全设置访问整个驱动器。

[1] https://imgur.com/q4prwXh“错误屏幕截图”。

预期的是,该项目将毫无问题地建设;发生的是我遇到了这些错误,我将尝试发布这些错误的图片。

  • 以文本为单位的屏幕快照中的错误不起作用:
  • [1]

      

    UnauthorizedAccessException:拒绝访问路径“ / Volumes /(已编辑> out)/Temp/StagingArea/Data/Managed/Unity.Analytics.StandardEvents.dll”。   System.IO.File.Delete(System.String路径)(位于:0)   UnityEditorInternal.AssemblyStripper.RunAssemblyStripper(System.Collections.IEnumerable程序集,System.StringmanagedAssemblyFolderPath,System.String [] assemblyToStrip,System.String [] searchDirs,System.String monoLinkerPath,UnityEditorInternal.IIl2CppPlatformProvider platformProvider,UnityEditor.Rund managedStrippingLevel)(位于/Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:372)   UnityEditorInternal.AssemblyStripper.StripAssemblies(System.StringmanagedAssemblyFolderPath,UnityEditorInternal.IIl2CppPlatformProvider platformProvider,UnityEditor.RuntimeClassRegistry rcr,UnityEditor.ManagedStrippingLevelmanagedStrippingLevel) )   UnityEditorInternal.IL2CPPBuilder.Run()(在/Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:203)   UnityEditorInternal.IL2CPPUtils.RunIl2Cpp(System.String stagingAreaData,UnityEditorInternal.IIl2CppPlatformProvider platformProvider,System.Action 1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:42) DesktopStandalonePostProcessor.SetupStagingArea (UnityEditor.Modules.BuildPostProcessArgs args, System.Collections.Generic.HashSet 1 [T] filesToNotOverwrite)(位于/ Users / builduser / buildslave / unity / build / Editor / Mono / BuildPipealone / Desktop .cs:245)   DesktopStandalonePostProcessor.PostProcess(UnityEditor.Modules.BuildPostProcessArgs args)(位于/Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/DesktopStandalonePostProcessor.cs:46)   UnityEngine.GUIUtility:ProcessEvent(Int32,IntPtr)

  • [2]

      

    UnityEditor.BuildPlayerWindow + BuildMethodException:2个错误   在/Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:190中的UnityEditor.BuildPlayerWindow + DefaultBuildMethods.BuildPlayer(UnityEditor.BuildPlayerOptions选项)[0x00234]   在/Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:96中的UnityEditor.BuildPlayerWindow.CallBuildMethods(System.Boolean askForBuildLocation,UnityEditor.BuildOptions defaultBuildOptions)[0x0007f]   UnityEngine.GUIUtility:ProcessEvent(Int32,IntPtr)

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果有人在Mac上构建Unity3D项目时遇到问题,我可能已经找到了可以帮助他人的解决方案。

两件事,其中之一可能是造成它的原因。

1)我基本上在Unity中运行了Packages Manager,并删除了最初通过Windows版本的Unity3D(适用于Android)添加的所有软件包。我对这部分了解不多,但这确实有用。

2)您需要从AppStore下载并安装最新的Xcode,并使用模板项目运行它(使它运行和启动的方法);这样,它会下载所有依赖项或所需文件。然后,关闭项目,重新启动计算机,然后再次;运行您的Unity3D项目,然后尝试再次构建。

基本上,这对我来说是固定的,因为项目中某些文件需要一些“访问权限”,而这些文件只有在没有安装Xcode的情况下才能实现;我认为这可以使这些事情发生。

我希望对别人有帮助。 祝你好运。