拍照或从库中获取图像的权限未在 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)的主要内容,如果未能解决你的问题,请参考以下文章

Android - 如何从相机捕获图像或从库中添加

Cordova 相机插件 IOS 11 无法从库中选择图像

隐藏按钮直到选择图片

在 Core Data 中从库中保存和获取多个图像选择

从相机拍照后图像未在 ImageView 中设置

来自相机的 UIImagePickerController:获取带有位置数据的图像