From 59301afe045509f53d44c2f17bc7cd9927c357c1 Mon Sep 17 00:00:00 2001 From: Julio Cesar Sanchez Hernandez Date: Thu, 4 Aug 2016 00:49:02 +0200 Subject: [PATCH] iOS: Added permission ckeck and fail if it's not permited --- src/ios/CDVBarcodeScanner.mm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/ios/CDVBarcodeScanner.mm b/src/ios/CDVBarcodeScanner.mm index b95d8917..886c5f1d 100644 --- a/src/ios/CDVBarcodeScanner.mm +++ b/src/ios/CDVBarcodeScanner.mm @@ -138,6 +138,15 @@ - (NSString*)isScanNotPossible { return result; } +-(BOOL)notHasPermission +{ + AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; + return (authStatus == AVAuthorizationStatusDenied || + authStatus == AVAuthorizationStatusRestricted); +} + + + //-------------------------------------------------------------------------- - (void)scan:(CDVInvokedUrlCommand*)command { CDVbcsProcessor* processor; @@ -160,6 +169,10 @@ - (void)scan:(CDVInvokedUrlCommand*)command { if (capabilityError) { [self returnError:capabilityError callback:callback]; return; + } else if ([self notHasPermission]) { + NSString * error = NSLocalizedString(@"Access to the camera has been prohibited; please enable it in the Settings app to continue.",nil); + [self returnError:error callback:callback]; + return; } processor = [[CDVbcsProcessor alloc]