在 Crashlytics 中,我可以看到 iOS 10 用户经常遇到这种崩溃。但是,当我使用 iPhone 7/10.2 在模拟器中进行测试时,我无法重现崩溃。在我的 plist 中,我已经有字符串
NSCalendarsUsageDescription、NSMicrophoneUsageDescription 和 NSPhotoLibraryUsageDescription。
这是来自 Crashlytics 的堆栈跟踪:
Crashed: com.apple.root.default-qos
0 libsystem_kernel.dylib 0x183765d74 __abort_with_payload + 8
1 libsystem_kernel.dylib 0x18376249c <redacted> + 100
2 libsystem_kernel.dylib 0x1837624c8 abort_with_payload + 10
3 TCC 0x1869d6328 __TCCAccessRequest_block_invoke_2.80 + 258
4 TCC 0x1869d6224 __CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 702
5 TCC 0x1869d9330 __tccd_send_block_invoke + 348
6 libxpc.dylib 0x18386afcc _xpc_connection_reply_callout + 80
7 libxpc.dylib 0x18386af3c _xpc_connection_call_reply + 40
8 libdispatch.dylib 0x1836221bc _dispatch_client_callout + 16
9 libdispatch.dylib 0x183630a4c _dispatch_queue_override_invoke + 732
10 libdispatch.dylib 0x18363234c _dispatch_root_queue_drain + 572
11 libdispatch.dylib 0x1836320ac _dispatch_worker_thread3 + 124
12 libsystem_pthread.dylib 0x18382b2a0 _pthread_wqthread + 1288
13 libsystem_pthread.dylib 0x18382ad8c start_wqthread + 4
任何线索如何重现或解决这个问题?我确实允许用户访问联系人,但是当我在模拟器中测试该功能时,系统不会提示我提供任何权限。但是,当用户从我的应用程序访问相机时,模拟器会提示我获得许可。这让我认为访问联系人不需要字符串。