기록/공부기록👩🏻‍💻

[공부기록]100일_52일차

lingk 2020. 10. 28. 22:05

포하하하ㅏ아하항

카메라/앨범 접근 권한 요청을 위해서,,,,,,삽질,,또 삽질

그러던 와중 이런 오류도 보게되었다,, 

보라색은 처음 봅니다만,,,main스레드를 태우라고?설마 이건가하고 DispatchQueue.main 어라리 된다

func openCamera(){
        if(UIImagePickerController .isSourceTypeAvailable(.camera)){
            DispatchQueue.main.sync {
                picker.sourceType = .camera
                present(picker, animated: false, completion: nil)
            }
        }
        else{
            print("Camera not available")
        }
    }
    func openLibrary(){
        DispatchQueue.main.sync {
            picker.sourceType = .photoLibrary
            present(picker, animated: false, completion: nil)
        }
        
    }

그렇게 탄생한 카메라 권한 요청/확인 함수

    func requestCameraPermission(){
            AVCaptureDevice.requestAccess(for: .video, completionHandler: { (granted: Bool) in
                if granted {
                    print("Camera: 권한 허용")
                    self.openCamera()
                } else {
                    print("Camera: 권한 거부")
                }
            })
        
        }

앨범 권한 요청/확인 함수

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

하하하하하

반응형

'기록 > 공부기록👩🏻‍💻' 카테고리의 다른 글

[공부기록]100일_55일차  (0) 2020.10.31
[공부기록]100일_53일차  (0) 2020.10.29
[공부기록]100일_51일차  (0) 2020.10.27
[공부기록]100일_50일차  (0) 2020.10.26
[공부기록]100일_49일차  (0) 2020.10.25