在iPhone上运行时,应用程序崩溃,例外情况

时间:2016-12-07 07:28:28

标签: ios objective-c iphone xcode

    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 个答案:

答案 0 :(得分:10)

iOS 10以后,当您访问隐私敏感资源(如相机,麦克风)时,您应该将使用说明文字添加到info.plist。

当您的代码第一次尝试访问资源时,此文本将显示在警告中,要求用户授予访问资源的权限。

因此,您应该提供适当的消息,解释您的应用需要资源的原因:)

将关键NSMicrophoneUsageDescription和文本描述添加到info.plist,它不会再次崩溃:)

enter image description here

答案 1 :(得分:2)

只需添加" NSMicrophoneUsageDescription"在info plist中,它允许从麦克风访问私人数据。