2016-09-15 2 views
99

Récemment j'ai commencé à obtenir cette erreur:clé NSPhotoLibraryUsageDescription doit être présent dans Info.plist utiliser la caméra rouleau

NSPhotoLibraryUsageDescription key must be present in Info.plist to use camera roll.

J'utilise React natif de construire mon application (je ne suis pas familier avec ios de développement natif) et je ne sais pas comment ajouter cette clé à Info.plist

Pouvez-vous poster un exemple? Merci

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

enter image description here

+1

Voir http://stackoverflow.com/a/39476283/1226963 pour un exemple de ce qu'il faut ajouter à Info.plist. Faites aussi une recherche sur 'NSPhotoLibraryUsageDescription' et vous trouverez plein d'exemples. – rmaddy

Répondre

258

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

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

Modifier:

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

Commander ce lien developer.apple.com pour liste complète de la liste des biens références clés.

liste complète:

d'Apple Musique:

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

Appareil photo:

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

Santé Partager:

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

jour Santé:

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

Accueil Kit:

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

Lieu:

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

Localisation (Lors de l'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> 

Motion (Accéléromètre):

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

Bibliothèque Photo:

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

Reminders:

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

<key>NSSpeechRecognitionUsageDescription</key> 
<string>My description about why I need this capability</string> 
+12

J'ai utilisé la chaîne, "Cette application ne nécessite pas l'accès à la photothèque." –

+0

J'ai ajouté la clé et la chaîne dans le fichier info.plist puis j'ai construit l'application en utilisant le terminal et toutes ces modifications ont été supprimées. S'il vous plaît guidez dessus –

+0

J'ai ajouté ceci mais il s'écroule toujours avec la même erreur. Pourquoi cela se passe-t-il? – fish40

3

Pour une utilisation accès à la caméra:

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

Ma façon 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 la liste pour trouverConfidentialité - Photothèque Utilisation Description de

enter image description here

4. Sélectionnez, puis ajoutez votre description sur la droite

enter image description here

+0

J'ai ajouté ceci mais il plante toujours avec la même erreur. Pourquoi cela se passe-t-il? – fish40

+4

@ fish40 peut-être que vous pouvez essayer de cliquer sur projet-cible-info, et l'ajouter là-bas et voir ce qui se passe? –

+0

@Brigt Future Merci, il a travaillé – fish40

15

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

+1

C'était exactement ce dont j'avais besoin ... avec la source, j'ai finalement réussi à télécharger mon application! TNX :) – BvdVen

+0

Il est étrange que cela a fonctionné, mais les autres approches n'ont pas, c'est peut-être juste un bug sur xcode 9 beta. Merci beaucoup pour ça !!! – JohnV

+0

Bienvenue, heureux, c'est de l'aide pour vous. –

2

Vous devez coller ces deux dans votre info.plist, il est la seule façon que cela a fonctionné pour moi ios11

<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

Merci ce code m'aider vraiment :) –

+0

Vous êtes les bienvenus. @thakur –

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 

fichier plist ouvert 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>