首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS PHPickerViewController不提供Exif/Meta-数据

iOS PHPickerViewController不提供Exif/Meta-数据
EN

Stack Overflow用户
提问于 2022-02-16 10:53:16
回答 1查看 341关注 0票数 1

我正在尝试从我用PHPickerViewController获取的图像中读出一些元数据。

代码语言:javascript
复制
var config = PHPickerConfiguration()
self.phPicker = PHPickerViewController(configuration: config)
if let picker = self.phPicker {
    self.phPicker?.delegate = self
    self.present(picker, animated: true) {
        self.phPicker = nil
    }
}

但是访问这些数据的PHPickerResult.assetIdentifier总是为零。

代码语言:javascript
复制
extension ChatViewController: PHPickerViewControllerDelegate {
    func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {
        dismiss(animated: true) {
            if results.isEmpty {
                return
            }
            assert(results.first!.assetIdentifier != nil)  // fails
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-16 10:53:16

诀窍是PHPickerViewController的正确配置。

代码语言:javascript
复制
var config = PHPickerConfiguration()  // WRONG!
let picker = PHPickerViewController(configuration: config)

根据文档,您必须使用PHPhotoLibrary。

A PHPhotoLibrary提供对用户照片库中照片、视频和相关内容的元数据和图像数据的访问,包括来自相机卷、iCloud共享、照片流、导入和从iTunes同步的内容。

因此,只需在构造函数中使用PHPhotoLibrary,一切都可以正常工作。

代码语言:javascript
复制
var config = PHPickerConfiguration(photoLibrary: PHPhotoLibrary.shared())  // CORRECT!
let picker = PHPickerViewController(configuration: config)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71140471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档