r.izumita
r.izumita

Reputation: 450

UIImagePickerController crashes on iOS10

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)

stack trace

Upvotes: 20

Views: 13356

Answers (4)

MAhipal Singh
MAhipal Singh

Reputation: 4815

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

Upvotes: 1

r.izumita
r.izumita

Reputation: 450

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

Upvotes: 1

Tim
Tim

Reputation: 1428

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. plist additions

Upvotes: 29

Rahul Bansal
Rahul Bansal

Reputation: 1530

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>

Upvotes: 51

Related Questions