Dans mon application, je ne montre que les ressources que l'utilisateur peut modifier, donc je ne montre que des photos - pas de vidéos. Nouveau dans iOS 11 Live Photos a deux effets qui transforment la photo en une vidéo: Loop et Bounce. Ces photos en direct ne peuvent pas être modifiées dans l'application Photos - le bouton plugins est désactivé. Je dois filtrer ceux dans mon PHFetchResult
. Mais mediaType
de image
inclut toujours ces «vidéos en direct». Comment puis-je exclure ceux du fetch? Peut-être quelque chose à voir avec le playbackStyle
de PHAsset
?NSPredicate ne pas inclure de boucles et de Bounce Live Photos
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)
Cool, syntaxe est: 'NSPredicate (format: "playbackStyle =% d ou playbackStyle =% d", PHAsset.PlaybackStyle.image .rawValue, PHAsset.PlaybackStyle.livePhoto.rawValue) ' – Joey