iOS/Swift + Objective-c

[Swift / Objective-c] 카메라 권한 허용 상태 조회 및 요청

안경 쓴 귀니 2021. 9. 14. 19:20
반응형

카메라 권한 허용 상태 조회 및 요청 방법

Info.plist에 Camera 권한 추가 및 AVFoundation import 하여 사용

 

 

필수사항

 

Info.plist에 Privacy - Camera Usage Description 추가

<key>NSCameraUsageDescription</key>
<string>앱 기능을 사용하려면 카메라 권한이 필요합니다.</string>

 

 

샘플

 

  • Swift
import AVFoundation


let status = AVCaptureDevice.authorizationStatus(for: AVMediaType.video)

switch status {
case .notDetermined:
    print("권한 요청 전 상태")
    // 권한 요청
    AVCaptureDevice.requestAccess(for: .video) { grated in
        if grated {
            print("권한 허용")
        } else {
            print("권한 거부")
        }
    }
    
case .authorized:
    print("권한 허용 상태")
    
case .denied:
    print("권한 거부 상태")
    
case .restricted:
    print("액세스 불가 상태")
    
@unknown default:
    print("unknown default")
}

 

  • Objective-c
#import <AVFoundation/AVFoundation.h>


AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];

switch (status) {
    case AVAuthorizationStatusNotDetermined:{
        NSLog(@"권한 요청 전 상태");
        // 권한 요청
        [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
            if (granted) {
                NSLog(@"권한 허용");
            } else {
                NSLog(@"권한 거부");
            }
        }];
    };
        break;
        
    case AVAuthorizationStatusAuthorized:
        NSLog(@"권한 허용 상태");
        break;
        
    case AVAuthorizationStatusDenied:
        NSLog(@"권한 거부 상태");
        break;
        
    case AVAuthorizationStatusRestricted:
        NSLog(@"액세스 불가 상태");
        break;
}

 

 

참고 URL

 

 

반응형