使用本地低级插件..Mac版本获取Unity项目。
在Xcode插件项目中进行少量更改,然后构建。
您现在在Unity项目中有了新的插件库。
如果再次“构建”,当然,最终的Mac应用程序现在将包含新库-没问题。
如果您在编辑器中点击播放,
事实上,它似乎是:
一切都已尝试过,“重新导入所有资产”,AssetDatabase.Refresh,重命名等。看来您 从字面上必须 重新启动Unity。
这是怎么回事?
似乎无法卸载mac共享库/捆绑软件。文章:
https://docstore.mik.ua/orelly/unix3/mac/ch05_03.htm
显然,此问题已在10.5中修复:
也许Unity现在可以解决这个问题。按照他们通常的节奏,它应该在2035年左右的任何时候发生。
答案 0 :(得分:4)
可惜的是,您对此无能为力。
根据.net的DLL处理DLL,除非关闭应用程序域,否则不能单独卸载DLL。当Unity拾取对DLL所做的更改时,旧版本将保留在内存中,并在运行时在编辑器中使用。您可以通过在编辑器中删除本机插件来执行此操作,以使其“有趣”。确认要删除文件。该文件将从检查器中消失。但是,如果右键单击该文件夹并刷新(ctrl + r),您将看到文件已重建(在单击“全部重新导入”时也会发生此情况,因为尽管统一重启,但应用程序域未关闭)。
在构建应用程序时,它将使用本地存储的文件,而不是内存存储的文件。因此,插件将在构建中进行更新。
如果不卸载包含该程序集的所有应用程序域,则无法卸载该程序集。即使程序集超出范围,实际的程序集文件也将保持加载状态,直到包含该程序集的所有应用程序域都被卸载。
这已经有一段时间了,人们已经尝试过变通和/或修复,但是据我所知,现在存在的“变通”仅适用于Windows。这里是一些有关此讨论的链接。
我想可以完成的工作是编写一个包装器,该包装器在编辑了dll后会自动重启Unity。尽管这不能解决问题,但它至少会使它少一些麻烦。