How to fetch all images from custom Photo Album - Swift

前端 未结 4 814
自闭症患者
自闭症患者 2020-12-03 04:26

How to fetch all images from custom Photo Album?

var fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key:         


        
4条回答
  •  没有蜡笔的小新
    2020-12-03 04:47

    Try this to get Photos from a specific Album

    func get_Photos_From_Album(albumName: String)
            {
                var photoLibraryImages = [UIImage]()
                var photoLibraryAssets = [PHAsset]()
                //whatever you need, you can use UIImage or PHAsset to photos in UICollectionView
    
                DispatchQueue.global(qos: .userInteractive).async
                {
                    let fetchOptions = PHFetchOptions()
                    fetchOptions.predicate = NSPredicate(format: "mediaType = %d", PHAssetMediaType.image.rawValue)
    
                    let smartAlbums = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .any, options: nil)
                    let customAlbums = PHAssetCollection.fetchAssetCollections(with: .album, subtype: .any, options: nil)
    
                    [smartAlbums, customAlbums].forEach {
                        $0.enumerateObjects { collection, index, stop in
    
                            let imgManager = PHImageManager.default()
    
                            let requestOptions = PHImageRequestOptions()
                            requestOptions.isSynchronous = true
                            requestOptions.deliveryMode = .highQualityFormat
    
                            let photoInAlbum = PHAsset.fetchAssets(in: collection, options: fetchOptions)
    
                            if let title = collection.localizedTitle
                            {
                                if photoInAlbum.count > 0
                                {
                                    print("\n\n \(title) --- count = \(photoInAlbum.count) \n\n")
                                }
    
                                if title == albumName
                                {
                                    if photoInAlbum.count > 0
                                    {
                                        for i in (0..

提交回复
热议问题