我在使用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
答案 0 :(得分:1)
如果您只是从iOS 11使用UIImagePickerController
访问照片,则实际上不需要权限。使用AVFoundation
或Photos
框架时需要权限。
以我的经验,iOS记录了我们有时可以忽略的那些错误,我认为您这次可以忽略这些错误消息。