Ключ NSPhotoLibraryUsageDescription повинен бути присутнім в Info.plist для використання камери камери


157

Нещодавно я почав отримувати цю помилку:

Ключ NSPhotoLibraryUsageDescription повинен бути присутнім у Info.plist для використання камери камери.

Я використовую React Native для створення свого додатка (я не знайомий з рідною розробкою ios) і не знаю, як додати цей ключ до Info.plist

Чи можете ви розмістити приклад? Дякую

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

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


1
Дивіться stackoverflow.com/a/39476283/1226963 для прикладу того, що потрібно додати до Info.plist. Крім того, просто проведіть пошук, NSPhotoLibraryUsageDescriptionі ви знайдете безліч прикладів.
rmaddy

Відповіді:


393

Дякую @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>

Сірі:

<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, тоді я будую додаток за допомогою терміналу, і всі ці зміни були видалені. будь ласка керівництво по ньому
Dinesh Vaitage

Я додав це, але він все ще виходить з тієї ж помилки. Чому це відбувається?
риба40

1
де знайти файл info.plist в ionic? Я не в змозі цього отримати.
Ануй

63

МОЙ ПРАВИЛЬНИЙ ШЛЯХ ДІЙСНЯ

1. Відкрити info.plist

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

2. Натисніть цю кнопку, щоб додати новий ключ

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

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

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

4. Виберіть його, а потім додайте свій опис праворуч

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


Я додав це, але він все ще виходить з тієї ж помилки. Чому це відбувається?
риба40

5
@ fish40, можливо, ви можете спробувати натиснути інформацію про проект-ціль і додати її туди і подивитися, що станеться?
Світле майбутнє

12
ваш ключовий опис зробив мій день XD
Fareed Alnamrouti

2
Опис використання відмітив мене. Виправлена ​​моя проблема надто щасливим бонусом!
Джеймс Данн

1
де знайти файл info.plist? Я не в змозі цього отримати.
Ануй

17

Додайте наступний код у файл info.plist

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

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


2
Це саме те, що мені було потрібно ... з вихідним шляхом я нарешті досяг успіху в завантаженні свого додатка! TNX :)
BvdVen

Дивно, що це спрацювало, але інші підходи не зробили, можливо, це просто помилка на xcode 9 beta. Велике спасибі за це !!!
JohnV

Ласкаво просимо, щасливі, це допоможе тобі.
Dinesh Vaitage

10

Вам потрібно вставити ці два у свій інформаційний список. Єдиний спосіб, який працював в 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

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

<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

Відкрийте файл плісту та цей код

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

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

Я виправив проблему "Відсутня ціль рядка в info.plist", виконавши наступні кроки. сподіваємось, що це також працюватиме для вас

  1. Перейдіть у файл "info.plist".

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

  1. Знайдіть цей ключ, який називається Privacy - Photo Library Usage Description. якщо його там немає, додайте нове і воно має значення, як на зображенні нижче.

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

Дякую.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.