Ключ NSPhotoLibraryUsageDescription должен присутствовать в Info.plist для использования прокрутки камеры
Недавно я начал получать эту ошибку:
Ключ NSPhotoLibraryUsageDescription должен присутствовать в Info.plist для использования прокрутки камеры.
Я использую React Native для сборки своего приложения (я не знаком с ios native development) и не знаю, как добавить этот ключ в Info.plist
Можете ли вы опубликовать пример? Спасибо
Я использую пакет npm "react-native-camera-roll-picker": "^1.1.7"
12 ответов
Спасибо @rmaddy, я добавил это сразу после других пар ключ-строка в Info.plist и исправил проблему:
<key>NSPhotoLibraryUsageDescription</key>
<string>Photo Library Access Warning</string>
Редактировать:
У меня также возникли похожие проблемы на разных компонентах моего приложения. Закончилось добавление всех этих ключей (после обновления до Xcode8/iOS10):
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app does not require access to the microphone.</string>
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>
Проверьте эту ссылку на developer.apple.com для получения полного списка ключевых ссылок на список свойств.
Полный список:
Apple Music:
<key>NSAppleMusicUsageDescription</key>
<string>My description about why I need this capability</string>
Блютуз:
<key>NSBluetoothPeripheralUsageDescription</key>
<string>My description about why I need this capability</string>
Календарь:
<key>NSCalendarsUsageDescription</key>
<string>My description about why I need this capability</string>
камера:
<key>NSCameraUsageDescription</key>
<string>My description about why I need this capability</string>
Контакты:
<key>NSContactsUsageDescription</key>
<string>My description about why I need this capability</string>
FaceID:
<key>NSFaceIDUsageDescription</key>
<string>My description about why I need this capability</string>
Доля здоровья:
<key>NSHealthShareUsageDescription</key>
<string>My description about why I need this capability</string>
Обновление здоровья:
<key>NSHealthUpdateUsageDescription</key>
<string>My description about why I need this capability</string>
Домашний комплект:
<key>NSHomeKitUsageDescription</key>
<string>My description about why I need this capability</string>
Место нахождения:
<key>NSLocationUsageDescription</key>
<string>My description about why I need this capability</string>
Расположение (всегда):
<key>NSLocationAlwaysUsageDescription</key>
<string>My description about why I need this capability</string>
Расположение (при использовании):
<key>NSLocationWhenInUseUsageDescription</key>
<string>My description about why I need this capability</string>
Микрофон:
<key>NSMicrophoneUsageDescription</key>
<string>My description about why I need this capability</string>
Движение (Акселерометр):
<key>NSMotionUsageDescription</key>
<string>My description about why I need this capability</string>
NFC (ближняя связь):
<key>NFCReaderUsageDescription</key>
<string>My description about why I need this capability</string>
Библиотека фотографий:
<key>NSPhotoLibraryUsageDescription</key>
<string>My description about why I need this capability</string>
Библиотека фотографий (доступ только для записи):
<key>NSPhotoLibraryAddUsageDescription</key>
<string>My description about why I need this capability</string>
Напоминания:
<key>NSRemindersUsageDescription</key>
<string>My description about why I need this capability</string>
Siri:
<key>NSSiriUsageDescription</key>
<string>My description about why I need this capability</string>
Распознавание речи:
<key>NSSpeechRecognitionUsageDescription</key>
<string>My description about why I need this capability</string>
МОЙ ЛЮБИМЫЙ СПОСОБ СДЕЛАТЬ ЭТО
1. Открытьinfo.plist
2. Нажмите эту кнопку, чтобы добавить новый ключ
3. Прокрутите вниз, чтобы найти конфиденциальность - Описание использования библиотеки фотографий.
4. Выберите его, затем добавьте описание справа
С августа 2021 года не только мы должны добавить это:
<key>NSPhotoLibraryUsageDescription</key>
<string>We need access to photo library so that photos can be selected</string>
но также необходимо добавить это в файл info.plist внутри папки iOS для правильной работы
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app requires access to the photo library.</string>
Добавьте следующий код в файл info.plist
<key>NSPhotoLibraryUsageDescription</key>
<string>My description about why I need this capability</string>
Вам нужно вставить эти два в ваш info.plist, единственный способ, который работал в iOS 11 для меня.
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app requires access to the photo library.</string>
Для доступа к камере используйте:
<key>NSCameraUsageDescription</key>
<string>Camera Access Warning</string>
Я столкнулся с той же проблемой несколькими днями ранее в моем проекте IONIC 4. когда я загрузил свой IPA, я получил это предупреждение от App Store Connect.
Я исправил проблему "Отсутствующая строка цели в info.plist", выполнив следующие действия. надеюсь, что это сработает и для вас.
- Перейдите в свой файл "info.plist".
- Найдите этот ключ, который называется
Privacy - Photo Library Usage Description
. если его там нет, добавьте новый и его значение, как на изображении ниже.
Спасибо.
Когда используешь
NSCameraUsageDescription
пользователь может получить доступ к камере И выбрать изображения из библиотеки фотографий. Так что мне не нужно
NSPhotoLibraryUsageDescription
, верный?
Если вы добавили пары ключ-строка в Info.plist ( см. Ответ Мурата выше) и по-прежнему получаете сообщение об ошибке, попробуйте проверить, есть ли у цели, над которой вы сейчас работаете, ключи.
В моем случае у меня было 2 цели (разработка и разработка). Я добавил ключи в редакторе, но он работает только для основной цели, и я тестировал цель разработки. Поэтому мне пришлось открыть XCode, щелкнуть проект> Информация> Добавить туда пару ключей для цели разработки.
Для того, чтобы сохранить или получить изображение с камеры ролл. Кроме того, вам необходимо запросить разрешение у пользователя, в противном случае вы получите эту ошибку, иначе ваше приложение может выйти из строя. Чтобы избавиться от этого, добавьте это в ваш info.plist
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app requires read and write permission from the user.</string>
В случае с Xamarin.iOS
if you're adding it from the generic editor then "Privacy - Photo Library Additions Usage Description" will be the given option you will find out instead of "NSPhotoLibraryAddUsageDescription".
Я получил ту же ошибку при загрузке моего приложения Flutter в магазин приложений. ШАГИ, ЧТОБЫ ИСПРАВИТЬ ЭТО:
- Открыл папку ios моего проекта флаттера в XCode.
- Внутри папки бегуна я щелкнул файл info.split.
- нажал кнопку + перед «списком информационных свойств»
- Я прокручиваю вниз, пока не нахожу «Конфиденциальность — Описание использования библиотеки фотографий». Я нажал на это.
- Затем введите в раздел строки описание того, почему вы запрашиваете разрешение на фотографию. В моем случае я указал строку -> «Этому приложению требуется разрешение на доступ к камере и библиотеке фотографий».
"Privacy - Photo Library Additions Usage Description" for iOS 11 and later
"Privacy - Photo Library Usage Description" for iOS 6.0 and later
Откройте файл plist и этот код
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app requires access to the photo library.</string>