gpt4 book ai didi

macos - Flutter Web 应用程序在调试中崩溃 DUE_TO_PRIVACY_VIOLATION(相机权限)

转载 作者:行者123 更新时间:2023-12-02 06:53:35 24 4
gpt4 key购买 nike

我正在开发一些使用相机和麦克风输入的 Flutter Web 应用程序。对于开发,我在 macOS (Catalina) 上使用 VS Code。当我启动应用程序时,Chrome 实例就会启动。这个实例是某种' 发展 ' Chrome 窗口(我对 Web 和 Flutter 开发完全陌生,所以我不确定术语),它与(比如说)完全分开' 生产 ' Chrome 窗口。
这是问题所在:

  • 当请求相机输入时,这个'发展 ' Chrome
    提示用户允许访问摄像头和麦克风。后
    允许访问,应用程序立即崩溃,原因__CRASHING_DUE_TO_PRIVACY_VIOLATION__ .
  • 另一方面,如果我运行网络服务器(在本地机器上)
    使用相同的代码并从“”访问该端口生产 '
    Chrome ,一切正常。允许访问后
    摄像头和麦克风(在 Chrome 中),操作系统提示其请求
    允许访问摄像头和麦克风(代表 Chrome),以及
    在允许那个之后,我得到了相机输入。

  • 使用这种方法(网络服务器 + ' 生产 ' Chrome)似乎不是进行开发的好方法,因为我不知道如何以这种方式调试我的代码。
    我知道 Mac 上的每个应用程序都必须定义权利和使用说明才能访问相机和麦克风,如果它是 native 应用程序,这将是一个简单的解决方案。但在这种情况下,我不确定如何制作 ' 发展 ' Chrome 表现得像' 生产 ' Chrome 。它就像它缺少相机和麦克风使用和崩溃的权利一样。
    有人知道如何克服这个障碍吗?我在设置 Flutter 环境时遗漏了什么吗?
    附言在这里发布一些 Flutter/Dart 代码不会有任何区别。 flutter-webrtc-demo将以同样的方式崩溃。在此“ ”中打开的任何使用相机的 Web 应用程序发展 ' Chrome 实例也会以同样的方式崩溃(我只尝试过使用 Teams,但我很确定所有其他人都会这样做)。
    崩溃日志:
    Identifier:            com.google.Chrome
    Version: 85.0.4183.83 (4183.83)
    Code Type: X86-64 (Native)
    Parent Process: dart [11176]
    Responsible: Electron [5097]
    User ID: 515352633

    Date/Time: 2020-09-02 12:55:10.488 +0200
    OS Version: Mac OS X 10.15.5 (19F101)
    Report Version: 12
    Bridge OS Version: 4.5 (17P5300)
    Anonymous UUID: 9159D7A7-AA5D-B3F0-C032-A79F092DC4C1


    Time Awake Since Boot: 9100 seconds

    System Integrity Protection: enabled

    Crashed Thread: 31 Dispatch queue: com.apple.root.default-qos

    Exception Type: EXC_CRASH (SIGABRT)
    Exception Codes: 0x0000000000000000, 0x0000000000000000
    Exception Note: EXC_CORPSE_NOTIFY

    Termination Reason: Namespace TCC, Code 0x0

    Application Specific Information:
    Calling encodeRestorableStateWithCoder: on window of class 'NSKVONotifying_BrowserNativeWidgetWindow' with title 'localhost:54518/#/' (delegate is 0x7fca60ec9ac0)

    ...............

    Thread 31 Crashed:: Dispatch queue: com.apple.root.default-qos
    0 libsystem_kernel.dylib 0x00007fff6bdb3ad6 __abort_with_payload + 10
    1 libsystem_kernel.dylib 0x00007fff6bdb53df abort_with_payload_wrapper_internal + 80
    2 libsystem_kernel.dylib 0x00007fff6bdb5411 abort_with_payload + 9
    3 com.apple.TCC 0x00007fff6249759f __CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 163
    4 com.apple.TCC 0x00007fff62495531 __TCCAccessRequest_block_invoke.114 + 500
    5 com.apple.TCC 0x00007fff62495a58 __tccd_send_message_block_invoke + 231
    6 libxpc.dylib 0x00007fff6be9828f _xpc_connection_reply_callout + 36
    7 libxpc.dylib 0x00007fff6be98217 _xpc_connection_call_reply_async + 69
    8 libdispatch.dylib 0x00007fff6bbf96c2 _dispatch_client_callout3 + 8
    9 libdispatch.dylib 0x00007fff6bc1015d _dispatch_mach_msg_async_reply_invoke + 369
    10 libdispatch.dylib 0x00007fff6bc085f9 _dispatch_kevent_worker_thread + 1316
    11 libsystem_pthread.dylib 0x00007fff6be53a85 _pthread_wqthread + 362
    12 libsystem_pthread.dylib 0x00007fff6be52b77 start_wqthread + 15

    最佳答案

    这似乎类似于这里的问题:https://github.com/microsoft/vscode/issues/95062 .
    Flutter 应用程序需要通过您用于调试的任何 IDE 的权限。

  • 使用命令从终端运行 VSCode
    'sudo/Applications/Visual\Studio\Code.app/Contents/MacOS/Electron'
  • 启动需要摄像头/麦克风的 Flutter 应用程序。
  • 系统会要求您提供权限,并且应用程序不应崩溃。
  • 终端将在具有摄像头/麦克风权限的应用程序列表中,并且从现在开始,Flutter 应用程序应该可以像这样运行。

  • Mac OS Mojave microphone permission for Visual Studio Code了解更多信息。

    关于macos - Flutter Web 应用程序在调试中崩溃 DUE_TO_PRIVACY_VIOLATION(相机权限),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63705483/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com