【发布时间】:2019-12-09 10:41:29
【问题描述】:
我在 Unity 2018.4.2 上有一个相当大的项目,在构建时有两个地方失败:连接到用户的麦克风和打开 Finder 窗口。打开 Finder 最多需要 30 秒才能真正打开它,并且每当我尝试启动它时麦克风就会挂起。
我们使用下面的代码打开 Finder 窗口
System.Diagnostics.Process p = System.Diagnostics.Process.Start("open", $"\"{macPath}\"");
它最终会打开 Finder 窗口,但仅在 10-30 秒后。与此同时,一个名为“tccd”的 MacOS 进程启动,导致 CPU 出现峰值。
对于麦克风,我们使用 Unity 的内置麦克风类,我们会得到持续 15-50 秒的挂起。当“tccd”进程启动并占用我们的 CPU 时,也会发生同样的事情。
当我们第一次尝试连接到麦克风时,操作系统会询问我们一次是否要允许应用访问麦克风,但即使在确认后它也总是挂起。它从不询问我们有关访问 Finder 的信息。
MacOS 似乎正在积极地试图减慢我们访问这些的速度,但并没有完全阻止我们,因为 Finder 最终会打开并且麦克风最终会连接(有时)。我们在 Windows 上没有这些问题,它只是在 MacOS 上。关于正在发生的事情有什么想法吗?
注意:编辑器中没有问题,仅在 Mac 版本中
【问题讨论】:
标签: c# macos unity3d microphone finder