Я пытаюсь получить доступ к камере с изображением лица на моем Ma c в Java.
Используя Catalina 10.15.3 MacBook Pro, используя этот очень простой проект в качестве отправной точки https://github.com/jonhare/SimpleFaceDetector Если я загружаю файл v1.1 .jar из выпусков, он работает просто отлично. При первом запуске меня спросили о разрешении камеры, разрешили, и все заработало отлично.
После проверки проекта, локальной сборки (Intellij + Maven) и попытки запуска из среды IDE процесс завершается неудачно с SIGABRT.
Проверка журналов операционной системы cra sh Я нахожу
Thread 14 crashed with X86 Thread State (64-bit):
rax: 0x0000000002000209 rbx: 0x0000000000000000 rcx: 0x000070000f0c46b8 rdx: 0x00007f8197309198
rdi: 0x000000000000000b rsi: 0x0000000000000000 rbp: 0x000070000f0c4700 rsp: 0x000070000f0c46b8
r8: 0x00007f81973091cc r9: 0x0000000000000000 r10: 0x0000000000000021 r11: 0x0000000000000246
r12: 0x0000000000000021 r13: 0x00007f8197309198 r14: 0x0000000000000000 r15: 0x000000000000000b
rip: 0x00007fff6e52abea rfl: 0x0000000000000246 cr2: 0x0000700008f9cd54
Logical CPU: 0
Error Code: 0x02000209
Trap Number: 133
и подробности потока 14:
Thread 14 Crashed:: Dispatch queue: com.apple.root.default-qos
0 libsystem_kernel.dylib 0x00007fff6e52abea __abort_with_payload + 10
1 libsystem_kernel.dylib 0x00007fff6e52c4f3 abort_with_payload_wrapper_internal + 80
2 libsystem_kernel.dylib 0x00007fff6e52c525 abort_with_payload + 9
3 com.apple.TCC 0x00007fff6667e5a7 __CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 163
4 com.apple.TCC 0x00007fff6667c545 __TCCAccessRequest_block_invoke.114 + 500
5 com.apple.TCC 0x00007fff6667ca6c __tccd_send_message_block_invoke + 231
6 libxpc.dylib 0x00007fff6e610a08 _xpc_connection_reply_callout + 36
7 libxpc.dylib 0x00007fff6e610990 _xpc_connection_call_reply_async + 69
8 libdispatch.dylib 0x00007fff6e371578 _dispatch_client_callout3 + 8
9 libdispatch.dylib 0x00007fff6e388080 _dispatch_mach_msg_async_reply_invoke + 369
10 libdispatch.dylib 0x00007fff6e38048c _dispatch_kevent_worker_thread + 1324
11 libsystem_pthread.dylib 0x00007fff6e5cb744 _pthread_wqthread + 362
12 libsystem_pthread.dylib 0x00007fff6e5ca827 start_wqthread + 15
Во время отладки я могу обнаружить, что произошла ошибка во время выполнения собственного кода. Я нашел некоторые ссылки вокруг inte rnet, предполагающие, что IDE делят работу за кулисы на разные потоки, и это является причиной root подобных проблем с разрешениями.
Это утверждение подтверждается тем фактом, что Я могу создать артефакт .jar из проекта, который запускается и работает правильно.
У кого-нибудь есть решение этой проблемы?