NSPredicate, чтобы не включать Loop и Bounce Live Photos

В моем приложении я показываю только ресурсы, которые пользователь может редактировать, поэтому я показываю только фотографии, но не видео. Новое в iOS 11 Live Photos имеет два эффекта, которые эффективно превращают фотографию в видео - Loop и Bounce. Эти живые фотографии нельзя редактировать в приложении "Фотографии" - кнопка плагинов отключена. Мне нужно отфильтровать их в моем PHFetchResult, Но mediaType из image все еще включает эти "живые видео". Как я могу исключить тех из выборки? Может быть, что-то делать с playbackStyle из PHAsset?

let photoLibraryFetchResult = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .smartAlbumUserLibrary, options: nil)  
let assetCollection = photoLibraryFetchResult.firstObject!  

let imagesOnlyFetchOptions = PHFetchOptions()  
imagesOnlyFetchOptions.predicate = NSPredicate(format: "mediaType = %d", PHAssetMediaType.image.rawValue)  

let assetsFetchResults = PHAsset.fetchAssets(in: assetCollection, options: imagesOnlyFetchOptions)

1 ответ

Решение

Попробуйте посмотреть на playbackStyle значение. ( Подробнее читайте здесь)

Перечисление имеет следующие параметры:

case image
case imageAnimated
case livePhoto
case unsupported
case video
case videoLooping
Другие вопросы по тегам