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"
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>
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>
Pour accéder à la caméra, utilisez:
<key>NSCameraUsageDescription</key>
<string>Camera Access Warning</string>
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".
"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>