파노라마를 제외하려면 배열을 사용하고 필요한 컬렉션 만 가져 오는 것이 좋습니다. 즉, 허용 목록 모음입니다. 또는 컬렉션을 열거하고 파노라마를 제외 할 수 있습니다. 화이트리스트는 또한 수집 순서를 제어합니다.
var smartAlbums: [PHAssetCollection] = []
let subtypes:[PHAssetCollectionSubtype] = [
// all photos collection
// .smartAlbumUserLibrary,
.smartAlbumFavorites,
.smartAlbumPanoramas,
.smartAlbumLivePhotos,
.smartAlbumBursts,
.smartAlbumDepthEffect,
.smartAlbumLongExposures,
.smartAlbumScreenshots,
.smartAlbumSelfPortraits
]
smartAlbums = fetchSmartCollections(with: .smartAlbum, subtypes: subtypes)
private func fetchSmartCollections(with: PHAssetCollectionType, subtypes: [PHAssetCollectionSubtype]) -> [PHAssetCollection] {
var collections:[PHAssetCollection] = []
let options = PHFetchOptions()
options.includeHiddenAssets = false
for subtype in subtypes {
if let collection = PHAssetCollection.fetchAssetCollections(with: with, subtype: subtype, options: options).firstObject {
collections.append(collection)
}
}
return collections
}
가져 오기를 수행 한 다음 Panoramas 앨범을 삭제하거나 무시하는 것이 더 쉬울까요? – matt