UIImagePicker Controller即使输入plist也不会请求权限

时间:2018-09-21 15:39:12

标签: ios swift uiimagepickercontroller

我在使用UIImagePickerController时遇到麻烦。我希望能够打开照片库并选择图像,当出现以下错误

[discovery] errors encountered while discovering extensions: Error Domain=PlugInKit Code=13 "query cancelled" UserInfo={NSLocalizedDescription=query cancelled}`

我认为这可能是一个权限错误,因为我没有在我的plist中没有为照片访问添加一行,所以我为照片库访问添加了条目:

Privacy - Photo library Usage Description,类型为string,值设置为photo use

当我尝试访问照片时,仍然没有获得访问权限的提示。

为使引起问题的其他任何问题最小化,我创建了一个新项目,该项目仅具有一个视图控制器,而plist中的上述条目如下所示:

class ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate
{
    var mImagePicker:UIImagePickerController?

    override func viewDidLoad()
    {
        super.viewDidLoad()
       // Do any additional setup after loading the view, typically from a nib.
    }

    @IBAction func tapped(_ sender: Any)
    {
        // Pick an image from the photo library
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary)
        {
            mImagePicker = UIImagePickerController()
            mImagePicker!.delegate = self
            mImagePicker!.sourceType = .photoLibrary;
            mImagePicker!.allowsEditing = false
            self.present(mImagePicker!, animated: true, completion: nil)
        }
    }
}

当我点击按钮时,没有看到允许输入权限的提示,只会显示照片库,而当我选择照片时,出现上面显示的错误?这里有我想念的东西吗?

我在最新版本的Mojave beta上的iPhone X和Xcode 10.0上运行iOS 12

1 个答案:

答案 0 :(得分:1)

如果您只是从iOS 11使用UIImagePickerController访问照片,则实际上不需要权限。使用AVFoundationPhotos框架时需要权限。

以我的经验,iOS记录了我们有时可以忽略的那些错误,我认为您这次可以忽略这些错误消息。