在 info.plist iOS 10 中声明对麦克风的使用访问权限以进行隐私设置

Posted

技术标签:

【中文标题】在 info.plist iOS 10 中声明对麦克风的使用访问权限以进行隐私设置【英文标题】:Declaring usage access to Microphone for privacy settings in info.plist iOS 10 【发布时间】:2017-01-19 07:24:16 【问题描述】:

在我的项目中,我使用的硬件使用耳机插孔连接到设备并用于刷卡。是否需要在 info.plist 中声明麦克风的使用权限?

我的问题是很少有用户报告登录后应用程序崩溃。从下面的崩溃日志中,我怀疑与访问隐私设置的问题有关(但我不确定)。请同时检查崩溃日志并指导我如何解决此问题。

#9. Crashed: com.apple.root.default-qos
0  libsystem_kernel.dylib         0x18ae60d74 __abort_with_payload + 8
1  libsystem_kernel.dylib         0x18ae5d480 abort_with_payload_wrapper_internal + 100
2  libsystem_kernel.dylib         0x18ae5d4c8 system_set_sfi_window + 10
3  TCC                            0x18e0a0328 __TCCAccessRequest_block_invoke_2.80 + 258
4  TCC                            0x18e0a0224 __CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 702
5  TCC                            0x18e0a3330 __tccd_send_block_invoke + 348
6  libxpc.dylib                   0x18af6601c _xpc_connection_reply_callout + 80
7  libxpc.dylib                   0x18af65f8c _xpc_connection_call_reply + 40
8  libdispatch.dylib              0x18ad1d1c0 _dispatch_client_callout + 16
9  libdispatch.dylib              0x18ad2bab4 _dispatch_queue_override_invoke + 732
10 libdispatch.dylib              0x18ad2d38c _dispatch_root_queue_drain + 572
11 libdispatch.dylib              0x18ad2d0ec _dispatch_worker_thread3 + 124
12 libsystem_pthread.dylib        0x18af262b8 _pthread_wqthread + 1288
13 libsystem_pthread.dylib        0x18af25da4 start_wqthread + 4

【问题讨论】:

【参考方案1】:

我认为您必须对用户外部硬件使用UISupportedExternalAccessoryProtocols 权限。

<key>UISupportedExternalAccessoryProtocols</key>
    <array>
        <string>PROTOCOL_NAME_HERE</string>
    </array>

PROTOCOL_NAME_HERE 是您的协议/外部附件的捆绑标识符。

您必须在您的项目中添加ExternalAccessory.framework(在左侧的项目导航器中单击您的项目。一般转到“链接框架和库”。单击+按钮)。

【讨论】:

我为什么要导入 以及我应该在哪个文件中导入 我已经包含了硬件公司提供的SDK,用于处理硬件检测和其他事情 你在使用 cocoapods 来包含 library/sdk 吗? 不,我没有使用 cocoapods 来包含库。 ExternalAccessory框架用于硬件和ios之间的通信。

以上是关于在 info.plist iOS 10 中声明对麦克风的使用访问权限以进行隐私设置的主要内容,如果未能解决你的问题,请参考以下文章

iOS10 相关的隐私设置,

为 iOS 使用描述 Info.plist 键设置空字符串

为 iOS 使用描述 Info.plist 键设置空字符串

iOS10权限声明国际化

info.plist

如何在 iOS 的 info.plist 中添加属性