web-dev-qa-db-fra.com

L'application n'a pas accès à vos photos ou vidéos iOS 9

Lorsque j'accède à ma bibliothèque de photos avec un UIImagePicker pour choisir une photo, l'application affiche parfois un écran noir et parfois un écran indiquant que je dois autoriser mon application à accéder aux photos. Mais lorsque je vais dans Paramètres -> Confidentialité -> Photos, il n’ya pas d’application là-bas et elle n’est nulle part ailleurs. J'ai lu que je devais ajouter deux valeurs à mon Info.plist, mais elles ne fonctionnaient pas non plus. Quelqu'un at-il courir avec la même erreur? Je travaille avec xcode 7, Swift 2.0 et iOS 9

 enter image description here

C’est là que j’invite l’utilisateur à accéder à la caméra

@IBAction func cameraButtonPressed(sender: UIButton) {

    let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)

    let cancelAction = UIAlertAction(title: "Cancel", style: .Default) { (UIAlertAction) -> Void in
        self.dismissViewControllerAnimated(true, completion: nil)
    }

    let cameraAction = UIAlertAction(title: "Take Photo", style: .Default) { (UIAlertAction) -> Void in
        if UIImagePickerController.availableCaptureModesForCameraDevice(.Rear) != nil {
            self.imagePicker.allowsEditing = false
            self.imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
            self.imagePicker.cameraCaptureMode = .Photo
            self.presentViewController(self.imagePicker, animated: true, completion: nil)
        } else {
            self.noCamera()
        }
    }

    let photoLibraryAction = UIAlertAction(title: "Photo Library", style: .Default) { (UIAlertAction) -> Void in
        self.imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        self.presentViewController(self.imagePicker, animated: true, completion: nil)
    }

    actionSheet.addAction(photoLibraryAction)
    actionSheet.addAction(cameraAction)
    actionSheet.addAction(cancelAction)

    self.presentViewController(actionSheet, animated: true, completion: nil)

}
24
Manuel Munoz

Ce problème apparaît dans iOS 9 lorsque le fichier Info.plist de votre application contient une clé: "CFBundleDisplayName" avec une valeur de chaîne vide.

Vous pouvez y entrer le nom de votre application et cela devrait fonctionner.

52
Vijay D. Gupta

Dans info.plist, le champ "Nom d'affichage du paquet" ne peut pas être vide.

Exemple

6
Pham Ngoc Quynh

Si vous obtenez cet écran, les raisons et les solutions sont probablement les suivantes: 

1.Si vous ne recevez pas d'alerte d'autorisation d'accès.

Solution : 1. Ajoutez CFBundleDisplayName et sa valeur lorsque vous indiquez le titre de votre application ou tout autre élément de votre choix . 2. Ajouter NSPhotoLibraryUsageDescription dans le fichier info.plist

2.Vérifiez vos paramètres -> Confidentialité -> Photos, la confidentialité est désactivée ou activée.

Solution : Activer la confidentialité pour les photos.

3.Si vous travaillez sur un simulateur et que vous avez déjà ajouté CFBundleDisplayName qui ne reçoit pas l’alerte pour l’accès aux photos.

Solation : Assurez-vous que Xcode que vous utilisez doit être dans Dossier de l’application pour obtenir une alerte d’autorisation d’accès.

4
Himanshu jamnani

Pour ceux qui rencontrent encore cette erreur dans iOS 10, il s’agit de nouveaux paramètres de confidentialité mis en œuvre dans iOS 10. 

Fondamentalement, dans le Info.plist, vous devez indiquer pourquoi vous souhaitez accéder à la photothèque en définissant la clé Privacy - Photo Library Usage Description (notez que cette chaîne peut être laissée vide).

Plus d'informations à ce sujet ici: http://useyourloaf.com/blog/privacy-settings-in-ios-10/

0
Benjamin

POUR iOS10 dans info.plist 

"CFBundleDisplayName" entrez le nom de votre application

<key>CFBundleDisplayName</key>
<string>IMS Food-taxi</string> 

et "NSPhotoLibraryUsageDescription" ajouter une description 

<key>NSPhotoLibraryUsageDescription</key>
<string>you will need to give the app permission to use the Photos.</string>
0
Nazmul Hasan

c'est très simple,

il suffit d'entrer

simulateur -> matériel -> Accueil 

puis dans les paramètres du téléphone -> dans votre application -> autorisez maintenant l'option de changement de déplacement comme ci-dessous image

0

Je me rends compte que c’est une vieille question, mais j’ai encore un dernier conseil à nous offrir….

Après avoir essayé les suggestions ci-dessus, je rencontrais toujours des problèmes d'autorisations liées à l'appareil photo, aux photos et à la bibliothèque de musique sur un iPod touch exécutant iOS 9.3. Le Settings app > Privacy > Photos ne répertoriait aucune application (ni Privacy > Camera ni Privacy > Media Library). L'application Paramètres ne contenait aucune ligne pour mon application. Les clients ne pouvaient donc pas modifier les autorisations de confidentialité de mon application.

La solution consistait à ouvrir le Settings app > General > Reset, puis tapez sur Reset Location & Privacy. Apparemment, les paramètres de confidentialité de mon appareil avaient été altérés. Après la réinitialisation, tous ces problèmes ont été résolus.

0
lifjoy