NSPhotoLibraryAddUsageDescription
。但是,如果您想检查用户是否允许您这样做,则会出现问题。由于该方法调用了读写弹出窗口(而您也需要在info.plist中添加NSPhotoLibraryUsageDescription
),因此无法通过[PHPhotoLibrary authorizationStatus]
方法完成。UIImageWriteToSavedPhotosAlbum
(我猜您已经调用过这个方法以将数据添加到图库),它会给您一个回调,告诉您保存是否成功,但更重要的是,它会显示您的NSPhotoLibraryAddUsageDescription
文本。NSPhotoLibraryAddUsageDescription
和NSPhotoLibraryUsageDescription
,并使用PHPhotoLibrary进行常规检查,如果失败,则只能在将数据保存到库中时使用UIImageWriteToSavedPhotosAlbum
进行检查。UIImageWriteToSavedPhotosAlbum
进行检查,但您需要实际将图像保存到用户图库中才能进行检查,这很麻烦,是不可取的。PHPhotoLibrary.authorizationStatus(for: .addOnly)
不幸的是,这意味着在 iOS 14 以下版本中,您无法知道用户是否选择了仅添加照片或其他选项。唯一的另一种检查方式是实际使用 UIImageWriteToSavedPhotosAlbum
,就像 mikebld 在他的回答中所说的那样。
UIImageWriteToSavedPhotosAlbum
回调,如mikebld建议的那样)。这很不幸,因为如果设备拒绝访问权限,则我总是禁用“导出到相机胶卷”按钮。现在我必须始终显示它,并在导出尝试失败时返回一些错误警报。 - Edgar Jan