Ключ NSPhotoLibraryUsageDescription должен присутствовать в Info.plist для использования прокрутки камеры


157

Недавно я начал получать эту ошибку:

Ключ NSPhotoLibraryUsageDescription должен присутствовать в Info.plist для использования прокрутки камеры.

Я использую React Native для сборки своего приложения (я не знаком с ios native development) и не знаю, как добавить этот ключ в Info.plist

Можете ли вы опубликовать пример? Спасибо

Я использую пакет npm "react-native-camera-roll-picker": "^1.1.7"

введите описание изображения здесь


1
См. Stackoverflow.com/a/39476283/1226963 для примера того, что добавить в Info.plist. Кроме того, просто выполните поиск, NSPhotoLibraryUsageDescriptionи вы найдете множество примеров.
16:30

Ответы:


394

Спасибо @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>

Bluetooth:

<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>

15
Я использовал строку «Это приложение не требует доступа к библиотеке фотографий».
Даниэль Т.

Я добавил ключ и строку в файл info.plist, затем я создаю приложение, используя терминал, и все эти изменения были удалены. пожалуйста, руководство по этому
Динеш Vaitage

Я добавил это, но он все еще падает с той же ошибкой. Почему это происходит?
fish40

1
где найти файл info.plist в ionic? Я не могу этого получить.
Anuj

63

МОЙ ЛЮБИМЫЙ СПОСОБ СДЕЛАТЬ ЭТО

1. Открыть info.plist

введите описание изображения здесь

2. Нажмите эту кнопку, чтобы добавить новый ключ

введите описание изображения здесь

3. Прокрутите вниз, чтобы найти конфиденциальность - Описание использования библиотеки фотографий.

введите описание изображения здесь

4. Выберите его, затем добавьте описание справа

введите описание изображения здесь


Я добавил это, но он все еще падает с той же ошибкой. Почему это происходит?
fish40

5
@ fish40 Может быть, вы можете попробовать нажать project-target-info, добавить туда и посмотреть, что получится?
светлое будущее

12
Ваше ключевое описание сделал мой день XD
Фарид Алнамрути

2
Описание использования щекотало меня. Исправлена ​​и моя проблема, поэтому счастливый бонус!
Джеймс Данн

1
где найти файл info.plist? Я не могу этого получить.
Anuj

17

Добавьте следующий код в файл info.plist

<key>NSPhotoLibraryUsageDescription</key>
<string>My description about why I need this capability</string>

введите описание изображения здесь


2
Это было именно то, что мне было нужно ... с исходным способом, которым я наконец-то смог загрузить свое приложение! TNX :)
BvdVen

Странно, что это сработало, но другие подходы не сработали, возможно, это просто ошибка в бета-версии xcode 9. Большое спасибо за это !!!
JohnV

Добро пожаловать, счастлив, это поможет вам.
Динеш Vaitage

10

Вам нужно вставить эти два в ваш 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>

4

Для доступа к камере используйте:

<key>NSCameraUsageDescription</key>
<string>Camera Access Warning</string>

1

Для того, чтобы сохранить или получить изображение с камеры ролл. Кроме того, вам необходимо запросить разрешение у пользователя, в противном случае вы получите эту ошибку, иначе ваше приложение может выйти из строя. Чтобы уберечься от этого, добавьте это в ваш 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".

0

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html

"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>

0

Если вы добавили пары ключ-строка в Info.plist ( см. Ответ Мурата выше ) и все еще получаете сообщение об ошибке, попробуйте проверить, есть ли ключи у цели, над которой вы сейчас работаете.

В моем случае у меня было 2 цели (разработка и разработка). Я добавил ключи в редактор, но он работает только для основной цели, и я тестировал на цели разработки. Поэтому мне пришлось открыть XCode, нажать на проект> Информация> Добавить пару ключей для цели разработки.


0

Я столкнулся с той же проблемой несколькими днями ранее для моего проекта IONIC 4. Когда я загрузил свой IPA, я получил это предупреждение от App Store Connect.

введите описание изображения здесь

Я исправил проблему «Missing Purpose String in info.plist», выполнив следующие действия. надеюсь, это также будет работать для вас.

  1. Перейдите к вашему файлу "info.plist".

введите описание изображения здесь

  1. Найти этот ключ, называется Privacy - Photo Library Usage Description. если его там нет, добавьте новый и его значение, как на картинке ниже.

введите описание изображения здесь

Спасибо.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.