调用连接方法时 MacOS 上的 Unity 崩溃 (Agora.io)

Unity Crash on MacOS when the join method is invoked (Agora.io)

我从资产商店下载了 agora.io video sdk 资产,并将其导入到新项目中。在演示 "SceneHome" 场景中,我输入了 api id。单击播放,当我单击 "join" 按钮时,Unity 崩溃了。据我所知,崩溃发生在

app.join(field.text);

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

我在2019.3.2f1和2020.1.0b5测试过。结果是一样的。 OS 是 Catalina 10.15.4。

该演示适用于 Windows。

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

有人知道这是怎么回事吗?或者我应该从哪里开始看?

另一个教程,这个来自声网:

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

可能是Unity Editor项目设置中缺少Camera和Microphone usage所致。如果是这种情况,请告诉我们。 (我看到你也在Slack频道,那我们继续聊吧。)

对于不知道的人,Agora Developer Community - Unity Chat channel is here :)

检查是否与使用 Unity Hub 的 macO 上的网络摄像头注册问题无关 运行。相机修复,不确定是否与您的问题有关:删除Unity Hub应用程序,然后直接从Unity App打开项目。将 Unity 应用程序重新定位到另一个文件夹中以强制网络摄像头使用安全注册也可能很有用。

在此处进行测试,Unity 2019.3.11.f1,使用演示应用程序,Hub 处于活动状态 -> 按加入按钮时崩溃,执行上述 Hub 删除,重新运行相同的演示,不再崩溃这个水平。 运行 在 Catalina 10.15.2 上。

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

1) Disable SIP: Go into recovery mode (hold CMD+R when you

restart your Mac) Don't be afraid, we are not doing anything crazy.

2) After that open Terminal (it should be accessible from one of the Menus at the Top) Type in "csrutil disable" and hit enter. Then reboot your Mac normally.

3) Open Terminal and type in: "sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db" and hit enter

4) For microphone access, type in: "INSERT INTO access VALUES('kTCCServiceMicrophone','com.unity3d.unityhub',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);" and hit enter

For camera, type in: "INSERT INTO access VALUES('kTCCServiceCamera','com.unity3d.unityhub',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);" and hit enter

6) check in your SystemPreferences/Security&Privacy > unity hub should now show up in both mic and cam

7) reboot in recovery mode again (CMD+R), open terminal again, type in: "csrutil enable" and hit enter, to enable SIP again

8) reboot normally and enjoy!

Here is the full thread。我希望它对某人有所帮助:)