小编Eri*_*tel的帖子

在Unity中,如何解决错误“plugin.bundle已损坏且无法打开。您应该将其移至Bin”?

在 MacOS Catalina v10.15.5 上使用 Unity 2019.3.15f1,我在项目中使用了一些插件来支持某些功能。这些插件是 UniWebView(用于显示网页视图)和 NatCorder(用于在游戏过程中录制视频和音频)。

\n\n

在最新的 MacOS 更新之前,一切都按预期运行。但是,如果不更改 Unity 或我的项目,我现在收到错误“\xe2\x80\x9cUniWebView.bundle\xe2\x80\x9d 已损坏,无法打开\xe2\x80\x99t”。每当调用插件的方法时,您都应该将其移动到 Bin'。编辑器因错误而暂停,但我可以继续玩。当游戏继续进行时,插件的所有功能都不起作用,而是再次抛出相同的错误。

\n\n

NatCorder.bundle 也会发生同样的情况,并且在使用 NatCorder 插件的其他项目中也会发生这种情况。因此,这似乎并不是特定捆绑包或项目特有的问题。

\n\n

这仅在编辑器内测试期间发生。在 Android 构建中,一切都按预期工作,可能是因为插件的编译使其成为内部构建的一部分。

\n\n

为了解决这个问题,我尝试过:

\n\n
    \n
  • 重新安装Unity
  • \n
  • 重新下载并安装插件
  • \n
  • 完全重新导入所有项目资产
  • \n
\n\n

但没有任何作用。我很困惑。一些研究表明,这是 MacOS GateKeeper 不再允许打开身份不明的开发人员的文件的问题,因为“允许从任何地方”的选项已从设置中删除。我不知道这是什么时候发生的,但我担心它可能是在最新的 MacOS 更新中出现的。手动打开 UniWebView.bundle 内容并尝试打开文件确实引发了身份不明的开发人员警告。

\n\n

我尝试在终端中使用命令“sudo spctl --master-disable”来重新启用“允许从任何地方”选项。这有效,该选项重新出现并且似乎已被选中。然而,它并没有解决我的问题,并且在重新启动 MacBook 后,该设置再次消失。

\n\n

所以...我没有线索了,一切都没有改变。如果有人知道要跟进的线索,请分享。我怀疑 MacOS 更新中发生了某些更改,导致我无法使用 Unity 编辑器应用程序中的文件,但我对 MacOS 相当陌生,不知道它可能是什么。

\n

macos plugins bundle unity-game-engine macos-catalina

5
推荐指数
1
解决办法
3144
查看次数