检测添加照片只有权限

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

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

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

自iOS 11以来,为了获得写权限,您需要在您的info.plist中添加NSPhotoLibraryAddUsageDescription 。 如果您想检查用户是否允许您这样做,则会出现此问题。 它不能通过[PHPhotoLibrary authorizationStatus]方法来完成,因为它会调用读/写popup窗口(而且你也需要在你的info.plist中NSPhotoLibraryUsageDescription )。

如果您想要检查用户是否允许您的应用程序写入,则必须调用UIImageWriteToSavedPhotosAlbum (如果要将数据添加到库中,我猜测您已经打过电话),并且会给您一个callback,告诉您你如果保存工作或没有,但更大的事情是,它显示用户您的NSPhotoLibraryAddUsageDescription文本。

现在,为了确保您有权访问这两个文件,您应该添加NSPhotoLibraryAddUsageDescriptionNSPhotoLibraryUsageDescription添加到您的info.plist ,并定期检查与PHPhotoLibrary,如果失败,那么你只能检查你想保存将数据传送到UIImageWriteToSavedPhotosAlbum库。

我只能说你只能使用UIImageWriteToSavedPhotosAlbum进行检查,但是你需要实际上将一个图像保存到用户库来做到这一点,这是一个UIImageWriteToSavedPhotosAlbumselect。