首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHPickerViewController中获取照片数据/元数据?

如何在PHPickerViewController中获取照片数据/元数据?
EN

Stack Overflow用户
提问于 2020-07-20 21:56:36
回答 1查看 1.1K关注 0票数 0

在我开发的应用程序中,我的任务是使用PHPickerViewController向用户展示他们的设备照片。

一旦被选中,我需要访问:

  1. 原始图像数据
  2. 图像
  3. 的文件名图像

的创建日期

如果我能够完全访问用户的照片,这对于PHAsset来说很简单--我可以使用PHPickerViewController结果值,其中包括照片标识符来查询PhotoKit中的PHAssets。但是,不能保证我可以完全进入。此外,如果用户没有授予访问权限或有限的访问权限,并且有限的选择不包括在PHPickerViewController中选择的照片,我将无法查询它们。(我尝试过这样做,并且正如预期的那样,查询的结果是0,这是有意义的)。

我可以获得的UIImage只是原始图像数据(缺少exif数据等)的代理,因此对于我的应用程序的用户情况来说,这是不够的。假设有数据项提供程序,我仍然需要获得文件名和创建日期等信息。

那么,有没有办法获取这些信息呢?

EN

回答 1

Stack Overflow用户

发布于 2020-08-13 04:27:43

我可以获得的UIImage只是原始图像数据的代理(缺少exif数据等),因此对于我的应用程序的用户情况来说,这是不够的。

返回到NSItemProvider,并询问它图像的数据表示形式。现在,按照通常的方式提取元数据。

代码语言:javascript
复制
// prov is the item provider
prov.loadDataRepresentation(forTypeIdentifier: UTType.image.identifier) { data, err in
    if let data = data {
        let src = CGImageSourceCreateWithData(data as CFData, nil)!
        let d = CGImageSourceCopyPropertiesAtIndex(src,0,nil) as! [AnyHashable:Any]
        print("metadata", d)
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63004391

复制
相关文章

相似问题

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