在 MacOS 上打开 Finder Window 和访问硬件时遇到问题

Trouble Opening Finder Window and Accessing Hardware on MacOS

我在 Unity 2018.4.2 上有一个相当大的项目,当我构建时有两个地方失败:连接到用户的麦克风和打开 Finder window。打开 Finder 最多需要 30 秒才能真正打开它,每当我尝试启动它时麦克风都会挂起。

我们使用下面的代码打开FinderWindow

System.Diagnostics.Process p = System.Diagnostics.Process.Start("open", $"\"{macPath}\"");

它最终会打开 Finder window,但只会在 10-30 秒后打开。与此同时,一个名为 "tccd" 的 MacOS 进程启动,导致 CPU 激增。

对于麦克风,我们使用 Unity 的内置麦克风 class,我们会遇到持续 15-50 秒的挂起。同样的事情发生在 "tccd" 进程启动并激增我们的 CPU.

的地方

当我们第一次尝试连接麦克风时,OS 会询问我们一次是否要允许该应用访问麦克风,但即使在确认后它也总是挂起。它从不询问我们有关访问 Finder 的问题。

似乎 MacOS 正在积极尝试减慢我们访问这些内容的速度,但并没有完全阻止我们,因为 Finder 最终会打开并且麦克风最终会连接(有时)。我们在 Windows 上没有这些问题,它只在 MacOS 上存在。关于正在发生的事情有什么想法吗?

注意:编辑器没有问题,只有 Mac builds

我们发现了问题。我们的代码必须经过签名才能在 Mac 上使用。现在应用程序已签名,我们可以访问我们的权利文件中列出的我们需要的一切