【问题标题】:macOS Entitlements audio-input vs. microphonemacOS 权利音频输入与麦克风
【发布时间】:2018-04-01 07:28:23
【问题描述】:

对于 macOS 沙盒,有两个授权密钥:

com.apple.security.device.audio-input
com.apple.security.device.microphone

我测试了两者,都允许麦克风输入。

它们有什么区别?

【问题讨论】:

    标签: macos audio-recording mac-app-store appstore-sandbox entitlements


    【解决方案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 应用程序的强化。这就是存在重复权利的原因。

    【讨论】:

    • 一个显而易见的问题:为什么同一事物有两个不同的名称?
    猜你喜欢
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 2014-01-01
    • 2011-04-29
    • 2023-01-10
    • 2017-10-26
    • 2023-03-13
    • 2015-02-10
    相关资源
    最近更新 更多