Запрос разрешения камеры на iPad

В приложении в настоящее время я делаю снимок только после проверки разрешений камеры следующим образом:

AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if(authStatus == AVAuthorizationStatusAuthorized) {
 // Take picture
}else{
 // Prompt user to go into their settings and add permissions for app
}

Тем не менее, при первом использовании, а) начальный "Хотели бы вы предоставить разрешения на использование этой камеры?" подсказка не появляется, и б) приложение не отображается в настройках iPad в режиме конфиденциальности → камера. Это приводит к неудачному случаю невозможности разрешить разрешение камеры в приложении.

Любые предложения о том, как избежать этого, будут высоко оценены. Спасибо за прочтение.

1 ответ

Вам необходимо запросить разрешение, используя следующий код:

AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if(authStatus == AVAuthorizationStatusAuthorized)
{
 // Take picture
}
else
{
 [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted)
 {
 if (granted)
 {
 NSLog(@"User Granted");
 }
 else
 {
 NSLog(@"User Denied");
 }
 }];
}

licensed under cc by-sa 3.0 with attribution.