【发布时间】:2020-11-07 05:56:08
【问题描述】:
在 WWDC2020 中,引入了新的 PHPickerViewController 和新的 PHPhotoLibrary.authorizationStatus(limited)。但我遇到了以下问题:
-
当用户点击一个按钮以显示苹果的多个图像选择器并将 requestAuthorization 显示为代码时:
let requiredAccessLevel: PHAccessLevel = .readWrite PHPhotoLibrary.requestAuthorization(for: requiredAccessLevel) { (authorizationStatus) in switch authorizationStatus { case .authorized: DispatchQueue.main.async { self.presentImagePicker() } case .limited: DispatchQueue.main.async { self.presentImagePicker() } default: break } } -
self.presentImagePicker() 函数:
func presentImagePicker() { var configuration = PHPickerConfiguration(photoLibrary: .shared()) configuration.filter = .images configuration.selectionLimit = self.imageCountMax - self.images.count let picker = PHPickerViewController(configuration: configuration) picker.delegate = self let accessLevel: PHAccessLevel = .readWrite let authorizationStatus = PHPhotoLibrary.authorizationStatus(for: accessLevel) switch authorizationStatus { case .authorized: DispatchQueue.main.async { self.present(picker, animated: true) } case .limited: DispatchQueue.main.async { // Here I don't know how to display only limited photo library to users (after user has selected some photos through the limited access) } default: break }}
我的问题:请看代码2,case .limited: DispatchQueue.main.async { },我想我应该把有限的照片库放在这个块中,但我不知道如何只显示有限的照片库用户。
【问题讨论】: