반응형
카메라 권한 허용 상태 조회 및 요청 방법
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
- https://developer.apple.com/documentation/avfoundation/avcapturedevice/1624613-authorizationstatus
- https://developer.apple.com/documentation/avfoundation/avcapturedevice/1624584-requestaccess
- https://developer.apple.com/documentation/avfoundation/avauthorizationstatus
반응형
'iOS > Swift + Objective-c' 카테고리의 다른 글
[iOS] 디바이스 내 앱 데이터 확인 (AppData, Documents) (1) | 2021.10.05 |
---|---|
[iOS] ipa 파일로 프로비저닝 프로파일 확인하기 (0) | 2021.09.16 |
[iOS] 앱 서명 인증서? 생성, 내보내기 및 삭제 (signing certification) (0) | 2021.09.03 |
[Swift / Objective-c] String 특정 문자열 치환, 제거 (replace) (1) | 2021.08.24 |
[Swift / Objective-c] 자동 잠금 활성화/비활성화 (절전모드) (0) | 2021.08.09 |