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

How to get authorization programmatically using Swift 4 to copy a video file to Photo Library from an application directory

当我们在 Info.plist 中为 "Privacy - Photo Library Additions Usage Description" 填充值字符串部分时,当应用程序尝试将视频文件复制到照片库时 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 中手动填写隐私值。有没有办法以编程方式进行?

我找不到只写权限,但据我所知,以下代码同时具有对照片库的写入和读取权限。

   if  PHPhotoLibrary.authorizationStatus() == .authorized {

         self.photoLibraryAuthorized = true

    } else {

        PHPhotoLibrary.requestAuthorization { status in

            if status == .authorized {

                self.photoLibraryAuthorized = true

            } else {

                self.photoLibraryAuthorized = false

            } 
        }
    }

但您必须填写隐私 - 照片库添加使用说明和隐私 - 照片库使用说明值。

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