В iOS 11, когда приложение запускается в первый раз, и я нажму на кнопку камеры, тогда оно покажет диалоговое окно Camera Permission.
Но в iOS 12, когда я нажимаю на кнопку камеры, она напрямую открывает камеру без какого-либо разрешения.
Я уже добавил Privacy - Camera Usage Description
в мой Info.plist
файл.
Я запутался, что делать?Пожалуйста, дайте мне какое-нибудь решение.
+(void)checkPermissionForCameraWithSuccess:(void (^) (void))successHandler failure:(void (^) (void))failureHandler
{
AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
switch (status)
{
case AVAuthorizationStatusRestricted:
case AVAuthorizationStatusDenied:{
if (failureHandler)
dispatch_async (dispatch_get_main_queue (), ^{ failureHandler (); });
}; break;
case AVAuthorizationStatusAuthorized:{
if (successHandler)
dispatch_async (dispatch_get_main_queue (), ^{ successHandler (); });
}; break;
case AVAuthorizationStatusNotDetermined:
{
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
if (!granted)
{
if (failureHandler) {
dispatch_async (dispatch_get_main_queue (), ^{ failureHandler (); });
}
} else {
if (successHandler) {
dispatch_async (dispatch_get_main_queue (), ^{ successHandler (); });
}
}
}];
break;
}
default:
break;
}
}
Примечание: По умолчанию он возвращает status = AVAuthorizationStatusAuthorized
без какого-либо разрешения диалогового окна.