Проверка на конфиденциальность - описание использования дополнений библиотеки фотографий только в iOS - PullRequest
0 голосов
/ 26 апреля 2019

Мое приложение нуждается только в свойстве «Конфиденциальность - описание использования дополнений библиотеки фотографий» в файле plist (приложение пишет в библиотеку фотографий, но не читает).

Я использую этот код для проверки разрешений:

PHPhotoLibrary.requestAuthorization { status in

            if status == .authorized {
                print("Permission granted")
            } else {
                print("Unavailable")
            }

        }

В настройках iOS для моего приложения, несмотря на то, что plist требуется только «Добавить только фотографии», в списке также есть «Чтение и запись» (??), и приведенный выше код получает толькоавторизованный статус, если установлен флажок «Чтение и запись» (отметка «Добавить только фотографии» приводит к тому, что приведенный выше код проходит к оператору else).

Я немного запутался, почему «Чтение и запись»даже указан в качестве параметра для моего приложения, если в моем списке нет «Конфиденциальность - описание использования библиотеки фотографий».

Есть идеи?

1 Ответ

1 голос
/ 26 апреля 2019

Это потому, что вы звоните PHPhotoLibrary.requestAuthorization.

Если все, что вам нужно, это вслепую писать в камеру пользователя, сделайте , а не , звоните PHPhotoLibrary.requestAuthorization. Просто идите вперед и напишите, например, вызывая UIImageWriteToSavedPhotosAlbum или UISaveVideoAtPathToSavedPhotosAlbum. Среда выполнения запросит авторизацию от вашего имени.

Но если вы хотите взаимодействовать с самой библиотекой фотографий, т. Е. Через платформу Photos, вам потребуется авторизация и запись в разделе «Конфиденциальность - описание использования библиотеки фотографий», даже если все, что вы намереваетесь сделать, это написать.


Судя по вашим комментариям, вы можете быть не уверены в том, что делает requestAuthorization. Он пытается получить разрешение. Если все, что вы хотите знать, это текущий статус авторизации на самом деле , вместо этого позвоните authorizationStatus.

Однако даже тогда мы говорим о самой библиотеке фотографий и, следовательно, о значении, называемом «Чтение и запись в настройках».

Если вы хотите узнать, есть ли у вас разрешение на выполнение UIImageWriteToSavedPhotosAlbum или UISaveVideoAtPathToSavedPhotosAlbum, просто вызовите его. Если есть проблема с разрешениями, вы услышите об этом в обработчике завершения.

...