无法访问照片库,只有相机选项可用的快速代码

问题描述 投票:0回答:1

我正在使用Swift 5代码,并且在代码中我必须捕获图像。我的源类型为.camera.photoLibrary。我已经完美设置了所有内容,甚至Info.plist中的权限设置,但由于不明原因,无法使用照片库选择图像。每次都只有相机选项可用。请提出建议,并查看我的代码我在做什么错?

权限信息列表:

Privacy - Photo Library Additions Usage Description
Privacy - Photo Library Usage Description
Privacy - Media Library Usage Description
Privacy - Camera Usage Description

代码:

var imagePicker: UIImagePickerController!


 enum ImageSource {
        case photoLibrary
        case camera
    }

    //MARK: - Take image
    func takePhoto() {
        guard UIImagePickerController.isSourceTypeAvailable(.camera) else {
            selectImageFrom(.photoLibrary)
            return
        }
        selectImageFrom(.camera)
    }

    func selectImageFrom(_ source: ImageSource){
        imagePicker =  UIImagePickerController()
        imagePicker.delegate = self
        switch source {
        case .camera:
            imagePicker.sourceType = .camera
        case .photoLibrary:
            imagePicker.sourceType = .photoLibrary
        }
        present(imagePicker, animated: true, completion: nil)
    }
ios swift uiimagepickercontroller
1个回答
0
投票

您始终优先考虑摄像头

//MARK: - Take image
func takePhotoLib() { 
    selectImageFrom(.photoLibrary)
}

//MARK: - Take image
func takePhotoCamera() {
    guard UIImagePickerController.isSourceTypeAvailable(.camera) else {
        selectImageFrom(.photoLibrary)
        return
    }
    selectImageFrom(.camera)
}
© www.soinside.com 2019 - 2024. All rights reserved.