UIImagePickerController在iOS10上崩溃

iOS10上提供UIImagePickerController与照片库源,我的应用程序崩溃。

具有相机源的iOS10以及具有照片库和相机源的iOS9上,该应用不会崩溃。

该应用程序是用Swift 2.2编写的,由Xcode 7.3.1构build。

为什么会发生崩溃?

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

堆栈跟踪

您可能需要在plist中放置NSCameraUsageDescription(如果您的应用程序使用相机)和NSPhotoLibraryUsageDescription(如果您的应用程序使用相片库)。 如下所示,

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

拉胡尔的答案是完美的。 如果你喜欢把它直接添加到你的plist,而不是通过plist的源代码,那么只需要执行以下操作。 plist补充

我通过更新到最新的Xcode版本来解决崩溃问题。 这个问题也在这里讨论: https : //github.com/Leanplum/Leanplum-iOS-SDK/issues/12

许可密钥在plist的权限对于相机(也需要麦克风权限)和PhotoLibrary

 <key>NSCameraUsageDescription</key> 

$ {PRODUCT_NAME}相机使用情况

 <key>NSMicrophoneUsageDescription</key> 

$ {PRODUCT_NAME}麦克风使用情况

 <key>NSPhotoLibraryUsageDescription</key> 

$ {PRODUCT_NAME} PhotoLibrary用法