iOS/iOS

[iOS] 접근권한요청 (카메라, 사진, 위치, 알림)

HarryJeonn 2022. 6. 15. 19:24

Why ?


  • 자주 사용하지만 프로젝트에서 한번씩만 사용해서 항상 구글링을 하길래 그냥 통으로 정리해두려고 한다.

How ?


// Request 코드

func requestCamera() {
    AVCaptureDevice.requestAccess(for: .video) { isAccess in
        print(isAccess ? "카메라 권한 허용" : "카메라 권한 거부")
    }
}

func requestPhoto() {
    PHPhotoLibrary.requestAuthorization(for: .readWrite) { status in
        switch status{
        case .authorized:
            print("Album: 권한 허용")
        case .denied:
            print("Album: 권한 거부")
        case .restricted, .notDetermined:
            print("Album: 선택하지 않음")
        default:
            break
        }
    }
}

func requestLocation() {
    CLLocationManager().requestWhenInUseAuthorization()
}

func requestNotification() {
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { isAccess, error in
        print(isAccess ? "알림 권한 허용" : "알림 권한 거부")
    }
}
// info.plist

Privacy - Camera Usage Description
Privacy - Photo Library Usage Description
Privacy - Location When In Use Usage Description
  • 위치 권한은 여러가지가 있으니 상황에 맞게 사용해야한다.