当我使用UIImagePicker访问我的照片库以选择照片时,该应用程序有时会向我显示黑屏,有时会显示一个屏幕,说明我必须授予我的应用访问照片的权限。但是当我去设置 - >隐私 - >照片,那里没有应用程序,应用程序无法在设置中看到。我读到我必须在我的Info.plist中添加两个值,但它们也没有用。有没有人运行相同的错误?我正在使用xcode 7,swift 2.0和iOS 9
这是我提示用户进行相机访问的地方
@IBAction func cameraButtonPressed(sender: UIButton) {
let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)
let cancelAction = UIAlertAction(title: "Cancel", style: .Default) { (UIAlertAction) -> Void in
self.dismissViewControllerAnimated(true, completion: nil)
}
let cameraAction = UIAlertAction(title: "Take Photo", style: .Default) { (UIAlertAction) -> Void in
if UIImagePickerController.availableCaptureModesForCameraDevice(.Rear) != nil {
self.imagePicker.allowsEditing = false
self.imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
self.imagePicker.cameraCaptureMode = .Photo
self.presentViewController(self.imagePicker, animated: true, completion: nil)
} else {
self.noCamera()
}
}
let photoLibraryAction = UIAlertAction(title: "Photo Library", style: .Default) { (UIAlertAction) -> Void in
self.imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
self.presentViewController(self.imagePicker, animated: true, completion: nil)
}
actionSheet.addAction(photoLibraryAction)
actionSheet.addAction(cameraAction)
actionSheet.addAction(cancelAction)
self.presentViewController(actionSheet, animated: true, completion: nil)
}
答案 0 :(得分:52)
当您的应用程序Info.plist文件包含密钥时,此问题会出现在iOS 9中:" CFBundleDisplayName"空字符串值。
您可以在那里输入您的应用名称,它应该有效。
答案 1 :(得分:6)
在info.plist中,"捆绑显示名称"字段不能为空。
答案 2 :(得分:4)
如果你有这个屏幕,可能有以下原因和解决方案:
1.如果您没有获得访问权限警报。
解决方案:1。添加 CFBundleDisplayName 及其值作为应用程序标题或您想要的任何内容。 2.在info.plist文件中添加 NSPhotoLibraryUsageDescription
2.检查您的设置 - >隐私 - >照片,隐私被禁用或启用。
解决方案:为照片启用隐私。
3.如果您正在使用模拟器并且已经添加了CFBundleDisplayName而没有获取照片访问的警报。
Solation :确保您使用的Xcode必须位于应用程序文件夹中才能获得权限访问警报。
答案 3 :(得分:0)
答案 4 :(得分:0)
对于仍然在 iOS 10 中出现此错误的用户,这是iOS 10中实施的新隐私设置的问题。
基本上,在Info.plist
中,你必须通过设置Privacy - Photo Library Usage Description
键来说明你想要访问Photo库的原因(注意,这可以留给空白字符串)。
更多相关信息: http://useyourloaf.com/blog/privacy-settings-in-ios-10/
答案 5 :(得分:0)
我意识到这是一个古老的问题,但还有另一个最后提示......
在尝试上述建议后,我仍然在运行iOS 9.3的iPod touch上有相机,照片,音乐库权限问题。 Settings app > Privacy > Photos
未列出任何应用(Privacy > Camera
或Privacy > Media Library
)。 “设置”应用不包含我的应用的行,因此客户无法更改我应用的隐私权限。
解决方案是打开Settings app > General > Reset
,然后点按Reset Location & Privacy
。显然,我的设备的隐私设置已经以某种方式被破坏。重置后,所有这些问题都得到了解决。
答案 6 :(得分:0)
FOR iOS10在info.plist
" CFBundleDisplayName"输入您的应用名称
<key>CFBundleDisplayName</key>
<string>IMS Food-taxi</string>
和&#34; NSPhotoLibraryUsageDescription&#34;添加说明
<key>NSPhotoLibraryUsageDescription</key>
<string>you will need to give the app permission to use the Photos.</string>