在iPhone上运行应用程序时出现违规异常导致崩溃

3
    Thread 1 Crashed:
0   libsystem_kernel.dylib          0x1e81a458 __abort_with_payload + 24
1  libsystem_kernel.dylib           0x1e817dd9    system_set_sfi_window + 1
2   TCC                             0x20f27c4f __CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 229
3   TCC                             0x20f27b6b __CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 1
4   TCC                             0x20f2a383 __tccd_send_block_invoke + 339
5   libxpc.dylib                    0x1e90215f _xpc_connection_reply_callout + 47
6   libxpc.dylib                    0x1e902101 _xpc_connection_call_reply + 27
7   libdispatch.dylib               0x1e72649b _dispatch_queue_override_invoke + 605
8   libdispatch.dylib               0x1e727a91 _dispatch_root_queue_drain + 379
9   libdispatch.dylib               0x1e7278b7 _dispatch_worker_thread3 + 107
10  libsystem_pthread.dylib         0x1e8ce937 _pthread_wqthread + 1169
11  libsystem_pthread.dylib         0x1e8ce48c start_wqthread + 8

异常类型:EXC_CRASH(SIGABRT) 异常代码: 0x0000000000000000、0x0000000000000000 异常注释: EXC_CORPSE_NOTIFY

终止原因:TCC,此应用程序崩溃是因为它试图访问敏感数据而没有使用说明。该应用程序的Info.plist文件必须包含一个NSMicrophoneUsageDescription键,其中包含一个字符串值,向用户解释该应用程序如何使用此数据。 触发线程:1 我不��道需要添加哪些权限。

2个回答

11
从iOS 10开始,当您访问涉及隐私的资源例如相机、麦克风时,您需要在info.plist中添加使用描述文本。
当您的代码首次访问资源时,此文本将显示在提示框中要求用户授予权限来访问资源。
因此,您应该放置一条适当的消息来解释为什么您的应用程序需要此资源 :)
添加NSMicrophoneUsageDescription键和文本描述到info.plist中,这样它就不会再崩溃了 :)

enter image description here


@jeeva:我必须说,你有一种很棒的感谢方式,即使之前已经有其他答案提出并被认为是正确答案,你仍然不接受它,而选择接受其他答案!!! - Sandeep Bhandari
1
哈哈,抱歉兄弟!我以为我可以点击“回答所有答案”...因为每个人都提到了它...但是你的带图片的解释非常清晰,谢谢。 - Jeeva
@jeeva:谢谢 :) 大家都会为点赞回答 :) 如果你写了正确的答案,但不是第一个回答,那么也不会得到赞赏,这让人感到伤心,所以我说了这句话 :) 非常感谢 :) 你不能接受所有的答案,但你总可以为所有答案点赞 :) 考虑一下吧 :) - Sandeep Bhandari

2
只需在信息属性列表(info plist)中添加“NSMicrophoneUsageDescription”,即可允许从麦克风获取私人数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接