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