Как получить авторизацию программно с помощью Swift 4 для копирования видеофайла в библиотеку фотографий из каталога приложения - PullRequest
0 голосов
/ 26 августа 2018

Когда мы заполняем раздел строки значения в 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.Есть ли способ сделать это программно?

1 Ответ

0 голосов
/ 26 августа 2018

Мне не удалось найти разрешение только на запись, но, насколько я вижу, следующий код принимает разрешение на запись и чтение в библиотеку фотографий.

   if  PHPhotoLibrary.authorizationStatus() == .authorized {

         self.photoLibraryAuthorized = true

    } else {

        PHPhotoLibrary.requestAuthorization { status in

            if status == .authorized {

                self.photoLibraryAuthorized = true

            } else {

                self.photoLibraryAuthorized = false

            } 
        }
    }

Но вы должны заполнить Конфиденциальность - Описание библиотеки фотографий Описание использования и Конфиденциальность- Значения описания использования библиотеки фотографий.

Я до сих пор не знаю, как программно заполнять строки значений разрешений в Info.plist.

...