ios - 根据 "Face"元数据获取PHAssets

标签 ios photokit phasset

在 Mac 中使用照片用户可以标记照片中的人物。然后,这些数据会同步到云端,他们可以在 iOS 上的“照片”中执行人脸搜索。元数据的类型似乎是“面部”。是否有可能获得与这些面孔之一相关的所有 Assets ?我想抓取其中包含某个人的所有图像。您可以在 iOS 的照片搜索中执行此操作,因此我希望它也向其他开发者开放。

有人有什么想法吗?

提前致谢。

最佳答案

Apple 发布了一个名为 Photo Kit 的用于访问 Apple Photos 的 SDK。在文档中,您将找到对照片应用程序和照片云的 API 访问。但是,如果您正在寻找 HTTP API,我认为尚未公开发布该 API。

如果您只需要访问 MacOS 照片应用程序上的数据,我建议您深入研究位于照片库数据库目录中的 SQLite photos.db。

/Users/[yourUserName]/Pictures/Photos Library.photoslibrary/database/photos.db

本周末我正在开展一个项目,需要类似的面部数据并将记录我的进度。下面是一个示例 SQLite 查询,您可以使用它来获取所有面孔、照片和相应的人:

SELECT *, RKFace.modelId AS fId
FROM RKFace
JOIN RKMaster ON RKMaster.modelId = RKFace.imageModelId
LEFT JOIN RKFaceGroup ON RKFaceGroup.modelId = RKFace.faceGroupId
LEFT JOIN RKFaceCrop ON RKFaceCrop.faceId = RKFace.imageModelId
LEFT JOIN RKFacePrint ON RKFacePrint.faceId = RKFace.imageModelId
LEFT JOIN RKPerson ON RKPerson.modelId = RKFace.personId;

我希望这有帮助。 :-)

关于ios - 根据 "Face"元数据获取PHAssets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29396236/

相关文章:

ios - ArrayBuffer.getElementSlowPath 有人遇到这个错误吗?

ios - 在 Objective-C 中使用 JSON 数据的 NSJSONSerialization 读取 NSDictionary 集的键值

ios - 在 Xcode 中构建项目时出错

ios - PHChange changeDetailsForFetchResult - 总是返回 nil

ios - PHAssetResource.assetResources 使用有效的 PHAsset 返回零结果

ios - 什么是 PHImageRequestOptionsResizeMode 默认值?

ios - PHAssetResourceManager writeData 返回错误 1

iphone - 在 Bump Api 发送图像方面需要一些帮助

iphone - 查看过渡动画

ios - 如何从 PHAssetCollection 中删除图像?