iOS Group照片库按类别分类的照片

时间:2019-05-31 07:41:05

标签: ios swift phasset photosframework

在我的应用中,我使用此代码获取所有照片(PHAsset

    PHPhotoLibrary.requestAuthorization { (status) in
        switch status {
        case .authorized:
            print("Good to proceed")
            let fetchOptions = PHFetchOptions()
            let allPhotos = PHAsset.fetchAssets(with: .image, options: fetchOptions)
            print("Found \(allPhotos.count) images")
        case .denied, .restricted:
            print("Not allowed")
        case .notDetermined:
            print("Not determined yet")
        @unknown default:
            fatalError()
        }
    }

我有两个问题:

  1. 我可以从照片库中按类别获取照片分组吗? (请参见下图)
  2. 我可以按自己的类别对照片分组吗? (请参见下图)

enter image description here

2 个答案:

答案 0 :(得分:0)

似乎无法直接实现。

但是,您可以按系统智能专辑,时刻或专辑进行分类(结果为PHAssetCollection类型)。

快速5

智能相册

let systemAlbums = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .albumRegular, options: nil)

时刻

let systemAlbums = PHAssetCollection.fetchAssetCollections(with: .moment, subtype: .albumRegular, options: nil)

相册

let systemAlbums = PHAssetCollection.fetchAssetCollections(with: .album, subtype: .albumRegular, options: nil)

,并且还可以显示用户的相册(获取结果是包含用户集合的PHCollection类型)

let userAlbums = PHCollectionList.fetchTopLevelUserCollections(with: nil)

此外: 您不必每次都请求授权,系统会在第一次调用每个相关功能时提醒用户并请求授权。

有一个有关浏览照片的示例代码。Browsing and Modifying Photo Albums

答案 1 :(得分:0)

目前没有公共API可以访问第三方应用程序中的类别。