在 iOS10 上展示UIImagePickerController
照片库来源时,我的应用程序崩溃了。
在带有相机源的 iOS10和带有照片库和相机来源的 iOS9 上,应用程序不会崩溃。
该应用程序使用 Swift 2.2 编写,并由 Xcode 7.3.1 构建。
为什么会发生崩溃?
let imagePicker = UIImagePickerController()
imagePicker.sourceType = .PhotoLibrary
imagePicker.allowsEditing = true
imagePicker.delegate = self
self.presentViewController(imagePicker, animated: true, completion: nil)
答案 0 :(得分:51)
您可能需要在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>
答案 1 :(得分:29)
答案 2 :(得分:1)
我通过更新到最新的Xcode版本解决了崩溃问题。 这里也讨论了这个问题:https://github.com/Leanplum/Leanplum-iOS-SDK/issues/12
答案 3 :(得分:1)
plist中的权限密钥用于权限相机(也需要麦克风权限)和PhotoLibrary
<key>NSCameraUsageDescription</key>
$ {PRODUCT_NAME}相机使用
<key>NSMicrophoneUsageDescription</key>
$ {PRODUCT_NAME}麦克风使用
<key>NSPhotoLibraryUsageDescription</key>
$ {PRODUCT_NAME} PhotoLibrary用法