我想制作一个应用程序,您可以从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)

...但是所有这三个都返回空PHFetchResult

是否可以在用户的​​照片库中获取面孔列表?

最佳答案

我最好的猜测是,Apple不希望应用程序访问此信息,因为它是高度 private 的信息。我建议提起雷达,并希望他们在将来的macOS版本中以某些应用程序特权打开它。

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

关于ios - 苹果照片:从Photos.app获取“面部相册”列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50788850/

10-09 20:42
查看更多