2016-09-21 13 views
17

Bei der Präsentation UIImagePickerController mit Foto-Bibliothek Quelle auf iOS10 stürzt meine App ab.UIImagePickerController stürzt auf iOS10 ab

Auf iOS10 mit Kameraquelle und auf iOS9 mit Foto-Bibliothek und Kameraquellen, die App nicht abstürzt.

Die App ist in Swift 2.2 geschrieben und gebaut von Xcode 7.3.1.

Warum tritt der Absturz auf?

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

stack trace

+2

müssen Schlüssel in plist für Erlaubnis 'Datenschutz - Kamera Verwendung Beschreibung' hinzugefügt haben –

+0

Überprüfen Sie dieses http://stackoverflow.com/questions/38236723/ios-10-error-access-private-when-using-use- uiimagepickercontroller –

+0

Ich habe bereits die Schlüssel hinzugefügt. Aber meine App stürzt ab. –

Antwort

1

löste ich den Absturz von Version auf den neuesten Xcode zu aktualisieren. Das Problem wurde auch hier diskutiert: https://github.com/Leanplum/Leanplum-iOS-SDK/issues/12

+0

Ja, manchmal die 3Teil möglicherweise nicht passen iOS10 –

+0

Danke, Sie haben mein Problem gelöst. Wenn Sie nur Leanplum.trackAllAppScreens() löschen, funktioniert diese Zeile, aber wahrscheinlich erhalten Sie keine In-App-Benachrichtigungen. – miletliyusuf

+0

Wir haben Swift 3 und Xcode 8 getestet und konnten Ihr Problem nicht reproduzieren. Es scheint, dass es nicht mit Leanplum SDK verwandt ist und die Verwendung der neusten Xcode-Version behebt das Problem. Bitte lass es uns wissen;) –

49

Sie können die NSCameraUsageDescription setzen müssen und NSPhotoLibraryUsageDescription (wenn Ihre Anwendung verwendet die Kamera) (wenn Ihre Anwendung nutzt die Foto-Bibliothek) in der plist. Wie unten,

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

Rahuls Antwort ist perfekt. Wenn Sie es lieber direkt in Ihren Plist und nicht über den Quellcode des Plists einfügen möchten, tun Sie einfach folgendes. plist additions

0

Erlaubnis Schlüssel in plist für die Erlaubnis für Kamera (müssen auch die Erlaubnis Mikrofon) und Photolibrary

<key>NSCameraUsageDescription</key> 

$ {PRODUCT_NAME} Kamera Usage

<key>NSMicrophoneUsageDescription</key> 

$ {PRODUCT_NAME} Mikrofon Anwendung

<key>NSPhotoLibraryUsageDescription</key> 

$ {PRODUCT_NAME} P hotoLibrary Usage