10

在 ios 11 中,我们现在有“仅添加照片”权限设置。 ios 11 照片设置

但是我们现在如何确定设置了哪个照片库访问级别? [PHPhotoLibrary authorizationStatus]仅适用于“读写”权限检查。如果应用仅要求“仅添加照片”权限,则它会保留PHAuthorizationStatusNotDetermined。如果用户将其从“读写”更改为“仅添加照片”,则会给出PHAuthorizationStatusDenied.

那么,我如何判断我的应用程序是否有权执行“导出到相机胶卷”功能,而该功能不需要读取权限?

4

1 回答 1

10

从 iOS 11 开始,为了只获得写入权限,您需要NSPhotoLibraryAddUsageDescriptioninfo.plist中添加。如果您想检查用户是否允许您这样做,就会出现这里的问题。它不能通过该[PHPhotoLibrary authorizationStatus]方法完成,因为这会调用读/写弹出窗口(您也需要NSPhotoLibraryUsageDescriptioninfo.plist中拥有)。

如果您想检查用户是否授予您的应用程序写入权限,您必须调用UIImageWriteToSavedPhotosAlbum(如果您想将数据添加到图库,我猜您已经调用了),这会给您一个回调,告诉您保存是否有效,但更重要的是它会向用户显示您的NSPhotoLibraryAddUsageDescription文本。

现在,为了确保您可以访问两者,您应该将两者都添加NSPhotoLibraryAddUsageDescriptionNSPhotoLibraryUsageDescription添加到您的info.plist并定期检查 PHPhotoLibrary,如果失败,那么您只能检查何时要保存数据带着 去图书馆UIImageWriteToSavedPhotosAlbum

我想说你只能检查,UIImageWriteToSavedPhotosAlbum但你需要实际将图像保存到用户画廊才能做到这一点,这很hacky,这是不可以的。

于 2017-10-09T18:00:54.477 回答