UIImagePicker 控制器即使有 plist 条目也不请求权限
UIImagePicker Controller doesn't request permission even with plist entry
我在使用 UIImagePickerController 时遇到问题。我希望能够打开照片库和 select 图片,当我打开时出现以下错误
[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
中的唯一代码
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)
}
}
}
当我点击按钮时,我没有看到请求权限的提示,只是出现了照片库,当我 select 一张照片时,我得到了上面显示的错误?我在这里遗漏了什么吗?
Im 运行 iOS 12 在 iPhone X 和 Xcode 10.0 在最新版本的 Mojave beta
如果您只是使用 UIImagePickerController
从 iOS 访问照片,则实际上不需要许可 11. 使用 AVFoundation
或 Photos
时需要许可框架。
根据我的经验,iOS 会记录那些我们有时可以忽略的错误,我认为这次您可以忽略错误消息。
我在使用 UIImagePickerController 时遇到问题。我希望能够打开照片库和 select 图片,当我打开时出现以下错误
[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
中的唯一代码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)
}
}
}
当我点击按钮时,我没有看到请求权限的提示,只是出现了照片库,当我 select 一张照片时,我得到了上面显示的错误?我在这里遗漏了什么吗?
Im 运行 iOS 12 在 iPhone X 和 Xcode 10.0 在最新版本的 Mojave beta
如果您只是使用 UIImagePickerController
从 iOS 访问照片,则实际上不需要许可 11. 使用 AVFoundation
或 Photos
时需要许可框架。
根据我的经验,iOS 会记录那些我们有时可以忽略的错误,我认为这次您可以忽略错误消息。