web-dev-qa-db-fra.com

La clé NSPhotoLibraryUsageDescription doit être présente dans Info.plist pour pouvoir utiliser le pellicule

Récemment, j'ai commencé à avoir cette erreur: 

La clé NSPhotoLibraryUsageDescription doit être présente dans Info.plist pour utiliser le rouleau de la caméra.

J'utilise React Native pour créer mon application (je ne connais pas le développement natif d'ios) et je ne sais pas comment ajouter cette clé à Info.plist

Pouvez-vous poster un exemple? Merci

J'utilise le paquet npm "react-native-camera-roll-picker": "^1.1.7"

 enter image description here

125
Murat Ozgul

Merci @rmaddy, j'ai ajouté ceci juste après d'autres paires clé-chaîne dans Info.plist et j'ai résolu le problème:

<key>NSPhotoLibraryUsageDescription</key>
<string>Photo Library Access Warning</string>

Modifier:

J'ai également eu des problèmes similaires sur différents composants de mon application. Nous avons fini par ajouter toutes ces clés jusqu'à présent (après la mise à jour vers 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>

Checkout this developer.Apple.com lien pour liste complète des références clés de la liste de propriétés.

Liste complète:

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>

Calendrier:

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

Caméra:

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

Contacts:

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

Santé Partager:

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

Mise à jour sur la santé:

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

Kit de maison:

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

Emplacement:

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

Lieu (toujours):

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

Lieu (en cours d'utilisation):

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

Microphone:

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

Mouvement (accéléromètre):

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

NFC (communication en champ proche): 

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

Galerie de photos:

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

Photothèque (accès en écriture seule):

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

Rappels:

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

Reconnaissance de la parole:

<key>NSSpeechRecognitionUsageDescription</key>
<string>My description about why I need this capability</string>
321
Murat Ozgul

Ma manière préférée de le faire

1. Ouvrez info.plist

 enter image description here

2. Cliquez sur ce bouton pour ajouter une nouvelle clé

 enter image description here

3. Faites défiler vers le bas pour trouver _ ​​Confidentialité - Description de l'utilisation de la photothèque

 enter image description here

4. Sélectionnez-le, puis ajoutez votre description à droite

 enter image description here

53
Bright Future

Ajouter le code suivant dans le fichier info.plist

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

 enter image description here

17
Dinesh Vaitage

Vous devez coller ces deux éléments dans votre info.plist, le seul moyen qui a fonctionné sous iOS 11 pour moi.

    <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>
5
Reza.Ab

Pour accéder à la caméra, utilisez:

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

Afin de sauvegarder ou de récupérer une image du rouleau de la caméra. De plus, vous devez demander l'autorisation à l'utilisateur, sinon vous obtiendrez cette erreur ou votre application risque de tomber en panne. Pour vous en sauver, ajoutez ceci dans votre info.plist

<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app requires read and write permission from the user.</string>

Dans le cas de 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".
1
Shanu Singh

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

Ouvrir le fichier plist et ce code 

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