检测添加照片只有权限
在ios 11中,我们现在有“仅添加照片”权限设置。
但是,我们现在如何确定设置了哪个照片库访问级别? [PHPhotoLibrary authorizationStatus]
仅适用于“读取和写入”权限检查。 如果应用程序只要求“仅添加照片”权限,则保持PHAuthorizationStatusNotDetermined
。 如果用户将其从“读写”更改为“仅添加照片”,则会给PHAuthorizationStatusDenied
。
那么,如何判断我的应用程序是否有权限执行“导出到相机胶卷”function,而不需要读取权限呢?
自iOS 11以来,为了只获得写权限,您需要在您的info.plist中添加NSPhotoLibraryAddUsageDescription
。 如果您想检查用户是否允许您这样做,则会出现此问题。 它不能通过[PHPhotoLibrary authorizationStatus]
方法来完成,因为它会调用读/写popup窗口(而且你也需要在你的info.plist中有NSPhotoLibraryUsageDescription
)。
如果您想要检查用户是否允许您的应用程序写入,则必须调用UIImageWriteToSavedPhotosAlbum
(如果要将数据添加到库中,我猜测您已经打过电话),并且会给您一个callback,告诉您你如果保存工作或没有,但更大的事情是,它显示用户您的NSPhotoLibraryAddUsageDescription
文本。
现在,为了确保您有权访问这两个文件,您应该添加NSPhotoLibraryAddUsageDescription
和NSPhotoLibraryUsageDescription
添加到您的info.plist ,并定期检查与PHPhotoLibrary,如果失败,那么你只能检查你想保存将数据传送到UIImageWriteToSavedPhotosAlbum
库。
我只能说你只能使用UIImageWriteToSavedPhotosAlbum
进行检查,但是你需要实际上将一个图像保存到用户库来做到这一点,这是一个UIImageWriteToSavedPhotosAlbum
select。