On presenting UIImagePickerController
with photo library source on iOS10, my app crashes.
On iOS10 with camera source and on iOS9 with photo library and camera sources, the app does not crash.
The app is written in Swift 2.2 and built by Xcode 7.3.1.
Why does the crash occur?
let imagePicker = UIImagePickerController()
imagePicker.sourceType = .PhotoLibrary
imagePicker.allowsEditing = true
imagePicker.delegate = self
self.presentViewController(imagePicker, animated: true, completion: nil)
You may need to put the NSCameraUsageDescription (if your app uses the Camera) and NSPhotoLibraryUsageDescription (if your app uses the Photo Library) in your plist. Like below,
<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>
Rahul's answer is perfect. If you prefer to add it straight into your plist rather than via the plist's source code then just do the following.
I solved the crash by updating to the latest Xcode version.
The problem has been discussed here as well: https://github.com/Leanplum/Leanplum-iOS-SDK/issues/12
permission keys in plist for permission For Camera (also need Microphone permission) and PhotoLibrary
<key>NSCameraUsageDescription</key>
${PRODUCT_NAME} Camera Usage
<key>NSMicrophoneUsageDescription</key>
${PRODUCT_NAME} Microphone Usage
<key>NSPhotoLibraryUsageDescription</key>
${PRODUCT_NAME} PhotoLibrary Usage