web-dev-qa-db-fra.com

UIImagePickerController se bloque sur iOS10

En présentant UIImagePickerController avec la source de la bibliothèque de photos sur iOS10, mon application se bloque.

Sur iOS10 avec source caméra et sur iOS9 avec bibliothèque de photos et sources de caméra, l'application ne se bloque pas.

L'application est écrite en Swift 2.2 et construite par Xcode 7.3.1.

Pourquoi l'accident se produit-il?

let imagePicker = UIImagePickerController()
imagePicker.sourceType = .PhotoLibrary
imagePicker.allowsEditing = true
imagePicker.delegate = self
self.presentViewController(imagePicker, animated: true, completion: nil)

 stack trace

19
r.izumita

J'ai résolu le problème en mettant à jour la dernière version de Xcode . Le problème a également été traité ici: https://github.com/Leanplum/Leanplum-iOS-SDK/issues/12

1
r.izumita

Vous devrez peut-être insérer NSCameraUsageDescription (si votre application utilise l'appareil photo) et NSPhotoLibraryUsageDescription (si votre application utilise la photothèque) dans votre liste d'adresses. Comme ci-dessous,

<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) needs access to use your camera</string>

<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) needs access to use your photo library</string>
51
Rahul Bansal

La réponse de Rahul est parfaite. Si vous préférez l'ajouter directement dans votre plist plutôt que via son code source, procédez comme suit .  plist additions

29
Tim

clés de permission dans la liste pour permission Pour Caméra (également besoin de permission pour microphone) et PhotoLibrary 

<key>NSCameraUsageDescription</key>

$ {PRODUCT_NAME} Utilisation de l'appareil photo

<key>NSMicrophoneUsageDescription</key>

$ {PRODUCT_NAME} Utilisation du microphone

<key>NSPhotoLibraryUsageDescription</key>

$ {PRODUCT_NAME} Utilisation de la photothèque

1
MAhipal Singh