拍照或从库中获取图像的权限未在 iOS 9 中显示(Xcode 7beta,Swift 2)
Posted
技术标签:
【中文标题】拍照或从库中获取图像的权限未在 iOS 9 中显示(Xcode 7beta,Swift 2)【英文标题】:Permission to take photo OR get image from library not shown in iOS9 (Xcode 7beta, Swift2) 【发布时间】:2015-07-23 19:17:54 【问题描述】:下面的代码显示了我访问图像库的示例。无论我在哪里调用代码(查看),我都看不到手机弹出的权限对话框,因此无法允许我的应用访问相机或库。
此外,隐私设置也不会显示我的应用。有什么想法吗?我要疯了。
let imgPicker = UIImagePickerController()
imgPicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imgPicker.modalPresentationStyle = UIModalPresentationStyle.Popover
self.presentViewController(imgPicker, animated: true, completion: nil)
我尝试过的另一种方法
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera)
let imagePicker:UIImagePickerController = self.imagePickerController
imagePicker.allowsEditing = true
imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureMode.Photo
imagePicker.cameraDevice = UIImagePickerControllerCameraDevice.Rear
imagePicker.showsCameraControls = true
imagePicker.navigationBarHidden = true
imagePicker.toolbarHidden = true
imagePicker.delegate = self
self.presentViewController(imagePicker, animated: true, completion: nil)
【问题讨论】:
【参考方案1】:您需要设置一对新的 Info.plist 值,与 ios8 中的位置服务字符串相同:
只需为这些设置您的描述字符串。
【讨论】:
这不是解决方案。【参考方案2】:检查 info.plist。
如果“捆绑显示名称”设置为空,
iOS 8.1 会弹出这样的权限窗口
""想访问您的照片
但在 iOS 9 中,根本没有弹出权限。
另外,没有权限设置,在设置 > 隐私 > 照片 > 你的应用名称。
为了解决这个问题,
删除 info.plist 中的“Bundle display name”。
【讨论】:
我的没有 Bundle 显示名称以开头并且有这个问题。那该怎么办呢? 我无法评论是否将其全部删除是正确的方法,但我只是用应用程序的实际名称填写了“字符串”区域,有效。 这绝对是一个错误的答案。正确答案是@longbow 所说的,你必须填写相应的 info.plist 字符串。【参考方案3】:显然这似乎是 iOS9 的问题。由于某种原因,权限访问对话框没有弹出。我已使用相同的代码在 iOS8 上成功测试。
【讨论】:
你有解决这个问题的办法吗? 没有。我现在回到了 iOS 8。没有时间去处理这些问题。对不起。 @DirkLX 你解决了吗?以上是关于拍照或从库中获取图像的权限未在 iOS 9 中显示(Xcode 7beta,Swift 2)的主要内容,如果未能解决你的问题,请参考以下文章