Apple Photos:从 Photos.app 获取“人脸相册”列表

Posted

技术标签:

【中文标题】Apple Photos:从 Photos.app 获取“人脸相册”列表【英文标题】:Apple Photos: Get list of “face albums” from Photos.app 【发布时间】:2018-06-10 23:17:31 【问题描述】:

我想制作一个应用程序,您可以在其中从 Apple 的照片应用程序中挑选一张脸,然后该应用程序会在地图上探索这些照片。

到目前为止,我发现这个查询返回一个名为“People”的PHCollectionList

let peopleFolder = PHCollectionList.fetchCollectionLists(
  with: .smartFolder, 
  subtype: .smartFolderFaces, 
  options: nil).firstObject!

...但我没有办法在此文件夹中获取人脸。以下是我目前尝试过的查询:

let people1 = PHCollectionList.fetchCollections(in: peopleFolder, options: nil)
let people2 = PHCollection.fetchCollections(in: peopleFolder, options: nil)
let people3 = PHAssetCollection.fetchCollections(in: peopleFolder, options: nil)

...但是这三个都返回空PHFetchResults。

有没有办法获取用户照片库中的人脸列表?

【问题讨论】:

嘿,Bryan,您对此有进一步了解吗? 很遗憾,没有!仍然希望有办法做到这一点,但还没有得到有效的解决方案。 这也是我的问题。 【参考方案1】:

我的最佳猜测是 Apple 不希望应用程序访问此信息,因为它是高度私密的信息。我建议提交一个雷达,并希望他们在未来的 macOS 版本中以一些应用程序权限打开它。

另一种选择是直接从磁盘上的照片库中访问 sqlite 数据库文件(这里建议 How to access People album used in Apple's Photos app),但内部格式可以随时更改。

【讨论】:

以上是关于Apple Photos:从 Photos.app 获取“人脸相册”列表的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView - 复制 Photos.app 功能

用于移动safari的html5网络应用程序,用于从Photos.app上传图像?

CGImageSourceCopyPropertiesAtIndex 不返回关键字和其他 Photos.app 字段

React Native 无法在应用程序 webview 中打开 url:intent://photos.app.goo.gl/

当我使用 Photos.app 时,我的 iOS 应用程序因内存压力而终止

从文件 URL 中检索 ALAsset 或 PHAsset