UIImagePickerController crashes on iOS10

2019-02-08 00:40发布

问题:

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)

回答1:

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>


回答2:

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.



回答3:

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



回答4:

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