AVAuthorizationStatus Camera

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- (IBAction)goToCamera{
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    if(authStatus == AVAuthorizationStatusAuthorized){
        [self popCamera];
    } else if(authStatus == AVAuthorizationStatusNotDetermined) {
        NSLog(@"%@", @"Camera access not determined. Ask for permission.");
        [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo 
        completionHandler:^(BOOL granted){
            if(granted) {
                NSLog(@"Granted access to %@", AVMediaTypeVideo);
                [self popCamera];
            } else {
                NSLog(@"Not granted access to %@", AVMediaTypeVideo);
                [self camDenied];
            }
        }];
    } else if (authStatus == AVAuthorizationStatusRestricted) {
        // My own Helper class is used here to pop a dialog in one simple line.
        [Helper popAlertMessageWithTitle:@"Error" 
        alertText:@"You've been restricted from using the camera on this device. 
        Without camera access this feature won't work. Please 
        contact the device owner so they can give you access."];
    } else {
        [self camDenied];
    }
}