macOS 权利音频输入与麦克风
Posted
技术标签:
【中文标题】macOS 权利音频输入与麦克风【英文标题】:macOS Entitlements audio-input vs. microphone 【发布时间】:2018-04-01 07:28:23 【问题描述】:对于 macOS 沙盒,有两个授权密钥:
com.apple.security.device.audio-input
com.apple.security.device.microphone
我测试了两者,都允许麦克风输入。
它们有什么区别?
【问题讨论】:
【参考方案1】:com.apple.security.device.microphone
是沙盒权利。如果您想在沙盒应用中使用麦克风,则需要启用它,
com.apple.security.device.audio-input
是强化的运行时权利。如果您想在使用强化运行时构建的应用中使用麦克风,则需要启用它。
如果您的应用同时经过沙盒和强化,您将需要同时启用两者。
在这种情况下,沙盒和强化提供了重叠的保护。
在沙盒应用中,如果您没有com.apple.security.device.microphone
权限,您的应用将无法访问麦克风。
在强化应用中,如果您没有com.apple.security.device.audio-input
权利,您的应用将无法使用 Core Audio 访问麦克风或任何音频输入,
This 很好地解释了沙盒和强化之间的关系。
我们可以在 Xcode 10 中看到 Hardened Runtime 的 Resource Access 部分与 App Sandbox 有大量重叠,而 Runtime Exceptions 部分具有强化运行时独有的功能。重叠的原因是什么?沙盒主要是为 App Store 设计的,而加固的运行时主要是为 Developer ID 设计的。我刚刚详细解释了这两种技术如何应用于同一个应用程序并且不依赖于分发方法,但在不久的将来,大多数应用程序可能最多会使用这两种技术中的一种:Mac App 的沙盒商店应用程序和经过公证的 Developer ID 应用程序的强化。这就是存在重复权利的原因。
【讨论】:
一个显而易见的问题:为什么同一事物有两个不同的名称?以上是关于macOS 权利音频输入与麦克风的主要内容,如果未能解决你的问题,请参考以下文章