투케이2K

174. (Objective-C/objc) [간단 소스] AVAuthorizationStatus 카메라 (camera) 사용 권한 부여 상태 체크 및 권한 부여 수행 본문

Objective-C

174. (Objective-C/objc) [간단 소스] AVAuthorizationStatus 카메라 (camera) 사용 권한 부여 상태 체크 및 권한 부여 수행

투케이2K 2024. 10. 2. 19:55

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : OBJECTIVE-C

 

[소스 코드]

 

    // ----------------------------------------------------------------------
    // [사전 설정 사항] 
    // ----------------------------------------------------------------------
    // 1. info.plist 파일에서 카메라 및 앨범 접근 권한 부여 필요
    // ----------------------------------------------------------------------
    // 2. 퍼미션 권한 : 
    // 
    // Privacy - Camera Usage Description
    // Privacy - Photh Library Usage Description
    // ----------------------------------------------------------------------
    // 3. 필요 import 설정 : 
    // 
    // #import <AVFoundation/AVFoundation.h>
    // ----------------------------------------------------------------------
    // 4. 애플 참고 사이트 : 
    // 
    // https://developer.apple.com/documentation/avfoundation/avauthorizationstatus 
    // ----------------------------------------------------------------------





    // ----------------------------------------------------------------------
    // [소스 코드] 
    // ----------------------------------------------------------------------

    // [카메라 권한 부여 상태 확인]
    AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];

    // [상태 값 switch 문 분기 처리 확인]
    switch (status) {
        case AVAuthorizationStatusNotDetermined:
            NSLog(@"Status :: 권한 요청 전 상태");

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

    // ----------------------------------------------------------------------

 

반응형
Comments