iOS笔记-相册权限(选中的照片)

一、iOS14更新了相册权限的获取,在原来基础上添加了一个“选中的照片”,之前的获取相册读写权限的方法在iOS14上已经表明被废弃了

但是依然可以使用,只是获取到的status无法区分全部授权和只授权选中的照片(获取到它们的权限都是authorized)。

二、在iOS14中,使用新的方法来获取权限

可以看到,新方法与之前的类似 ,不过多了一个PHAccessLevel的参数,这个参数是来控制你使用方式的一个枚举,值为addOnly和readWrite,一般当你要存照片的时候用addOnly,读取的时候用readWrite。

if #available(iOS 14, *) {

            PHPhotoLibrary.requestAuthorization(for: .readWrite) { (status) in

                debugPrint(status.rawValue)

                DispatchQueue.main.async {

                    switch status {

                    case .notDetermined:

                        LCProgressHUD.showMessage("未决定是否授权")

                    case .restricted:

                        LCProgressHUD.showMessage("相册无权限(用户也无权决定)")

                    case .denied:

                        LCProgressHUD.showMessage("相册拒绝授权")

                    case .authorized:

                        LCProgressHUD.showMessage("相册已授权")

                    case .limited:

                        LCProgressHUD.showMessage("相册权限受限")

                    default:

                        break

                    }

                }

            }

//            let status = PHPhotoLibrary.authorizationStatus(for: .readWrite)

//            debugPrint(status.rawValue)

//            switch status {

//            case .notDetermined:

//                LCProgressHUD.showMessage("未决定是否授权")

//            case .restricted:

//                LCProgressHUD.showMessage("相册无权限(用户也无权决定)")

//            case .denied:

//                LCProgressHUD.showMessage("相册拒绝授权")

//            case .authorized:

//                LCProgressHUD.showMessage("相册已授权")

//            case .limited:

//                LCProgressHUD.showMessage("相册权限受限")

//            default:

//                break

//            }

        } else {

            PHPhotoLibrary.requestAuthorization { (status) in

                debugPrint(status.rawValue)

                DispatchQueue.main.async {

                    switch status {

                    case .notDetermined:

                        LCProgressHUD.showMessage("未决定是否授权")

                    case .restricted:

                        LCProgressHUD.showMessage("相册无权限(用户也无权决定)")

                    case .denied:

                        LCProgressHUD.showMessage("相册拒绝授权")

                    case .authorized:

                        LCProgressHUD.showMessage("相册已授权")

                    case .limited:

                        LCProgressHUD.showMessage("相册权限受限")

                    default:

                        break

                    }

                }

            }

        }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容