问题描述
如何将 PHPickerViewController 上显示的图像过滤为用户在有限访问权限下选择的图像?还是我需要使用不同的选择器?我已经为此苦苦挣扎了几天。任何帮助,将不胜感激。提前致谢。
-
警报随相机或照片库一起出现
-
他们选择照片库
-
授权警告显示为“选择照片...”、“允许访问所有照片”或“不允许”
-
他们点击选择照片 = .limited
data
.limited 的情况是什么?
PHPhotoLibrary.shared().presentLimitedLibraryPicker(from: self)
解决方法
您误解了访问受限的含义。它限制了您可以在照片库中读取和写入的信息。
但是您的代码首先不会从照片库中读取。你在说
config = PHPickerConfiguration()
所以这意味着您根本没有照片库访问权限。您只能获得图像副本。因此,您不需要任何许可来显示选择器,而且用户限制对您没有任何区别。实际上,您可以扔掉所有与授权相关的代码;它没有效果。没有它,您的选择器将完全相同。
如果您需要通过选择器访问照片库,您应该调用
https://developer.apple.com/documentation/photokit/phpickerconfiguration/3616114-init
在那种情况下,当您尝试访问实际 PHAsset 时,用户限制会对您很重要。但是您的代码从不这样做。您正在请求不需要的许可。