在 MacOS 上调用 join 方法时 Unity Crash (Agora.io)

Ant*_*ton 5 macos unity-game-engine agora.io

我从资产商店下载了 agora.io 视频 sdk 资产,将其导入到一个新项目中。在演示“SceneHome”场景中,我输入了api id。单击播放,一旦我单击“加入”按钮,Unity 就会崩溃。据我所知,崩溃发生在

app.join(field.text);

TestHome.cs 脚本中的行(第 86 行)。

我在 2019.3.2f1 和 2020.1.0b5 测试过。结果是一样的。操作系统是 Catalina 10.15.4。

该演示适用于 Windows。

我遵循了本教程:https : //medium.com/@jake_agora.io/mac-run-video-chat-within-your-unity-application-e001091db62f但使用 x86_64 dll 而不是 x86

有谁知道这是关于什么的?或者我应该从哪里开始看?

另一个教程,这个来自 Agora:

https://www.agora.io/en/blog/run-video-chat-within-your-unity-application-mac

Ant*_*ton 2

正如 Herve Nau 指出的那样,问题在于 Unity 没有使用摄像头或麦克风的权限。该解决方案应该有效。或者,这是添加权限的另一种方法,如 launzone 所描述:

1) 禁用 SIP:进入恢复模式(按住 CMD+R 当您

重新启动你的 Mac)别害怕,我们并没有做任何疯狂的事情。

2)之后打开终端(应该可以从顶部的菜单之一访问)输入“csrutil disable”并按回车键。然后正常重新启动 Mac。

3)打开终端并输入:“sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db”并按 Enter 键

4) 对于麦克风访问,输入:“INSERT INTO access VALUES('kTCCServiceMicrophone','com.unity3d.unityhub',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109); ” 然后按回车键

对于相机,输入:“INSERT INTO access VALUES('kTCCServiceCamera','com.unity3d.unityhub',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);” 然后按回车键

6) 检查您的系统首选项/安全和隐私 > unity hub 现在应该显示在麦克风和摄像头中

7)再次以恢复模式重新启动(CMD + R),再次打开终端,输入:“csrutil启用”并按回车键,以再次启用SIP

8)正常重启并享受吧!

这是完整的线程。我希望它能帮助别人:)