[Interest] Mac OS - AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo crashes application

Roland Winklmeier roland.m.winklmeier at gmail.com
Fri Jan 10 10:05:40 CET 2020


Am Do., 9. Jan. 2020 um 18:05 Uhr schrieb Nuno Santos <
nunosantos at imaginando.pt>:

> Hi,
>
> I’m trying to setup camera usage permission request for 10.14 (Mojave) and
> 10.15 (Catalina). I have added the camera and microphone permissions in the
> Info.plist as in below:
>
> <key>NSCameraUsageDescription</key>
> <string>This application uses the video camera to communicate with another
> endpoint.</string>
> <key>NSMicrophoneUsageDescription</key>
> <string>This application uses the microphone input to communicate with
> another endpoint.</string>
>
> But the app keeps crashing as soon as the permission code below is called when
> it should prompt for permissions:
>
> void CameraManager::requestCameraUsagePermission()
> {
>     switch([AVCaptureDevice
> authorizationStatusForMediaType:AVMediaTypeVideo])
>     {
>         case AVAuthorizationStatusAuthorized:
>             _isCameraUsageAllowed = true;
>             break;
>         case AVAuthorizationStatusNotDetermined:
> *            // crashes as soon this line is called*
>             [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo
> completionHandler:^(BOOL granted)
>             {
>             }];
>             break;
>         case AVAuthorizationStatusRestricted:
>             _isCameraUsageAllowed = false;
>             break;
>         case AVAuthorizationStatusDenied:
>             _isCameraUsageAllowed = false;
>     }
> }
>

For me the following snippet works fine:

if (@available(macOS 10.14, *))
{
    NSString *mediaType = AVMediaTypeAudio;
    [AVCaptureDevice requestAccessForMediaType:mediaType completionHandler:
^ (BOOL granted)
                    {
                        emit permissionRequestAnswered(granted);
                    }];
}
else
{
    emit permissionRequestAnswered(true);
}

Are you running the sample on macOS 10.14 or higher? Other than that, maybe
info.plist in the build directory is not correct or something?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200110/d5e3ffd3/attachment.html>


More information about the Interest mailing list