如何使用Swift 4以编程方式获得授权以将视频文件从应用程序目录复制到照片库

时间:2018-08-26 07:24:10

标签: swift privacy

当我们在Info.plist中为“隐私-图片库添加用法说明”填写值字符串部分时,当应用程序尝试将视频文件复制到图片库iOS时,系统会自动询问授权,然后一切正常。

但是在那种情况下,这还不够。如果用户不愿意,我们想做些事情。

我们正在为相机使用做以下操作;

func checkCameraAuthorizations(){

    // Checks privacy authorizations and change aplication behaviour accordingly.

    if AVCaptureDevice.authorizationStatus(for: .video) ==  .authorized {

        cameraUsageAuthorized = true

    } else {

        AVCaptureDevice.requestAccess(for: .video, completionHandler: { (granted: Bool) in
            if granted {

                self.cameraUsageAuthorized = true


            } else {
                self.cameraUsageAuthorized = false
            }
        })
    }      
}

我们在应用程序中的多个位置使用cameraUsageAuthorized变量来了解相机的使用情况。

但是我们找不到将视频文件从应用程序文档目录复制到照片库的类似功能。

此外,我们正在Info.List中手动填写Privacy值。反正有编程地做吗?

1 个答案:

答案 0 :(得分:0)

我找不到只写权限,但正如我所看到的,以下代码对照片库同时具有写和读权限。

   if  PHPhotoLibrary.authorizationStatus() == .authorized {

         self.photoLibraryAuthorized = true

    } else {

        PHPhotoLibrary.requestAuthorization { status in

            if status == .authorized {

                self.photoLibraryAuthorized = true

            } else {

                self.photoLibraryAuthorized = false

            } 
        }
    }

但是您必须填写“隐私-照片库使用说明”和“隐私-照片库使用说明”值。

尽管如此,我仍然不知道如何以编程方式在Info.plist中填充权限值字符串。