Я пытаюсь получить фотографии из библиотеки фотографий и хочу показывать только изображения из библиотеки фотографий. Я не хочу показывать видео.
Я использую PHFetchOptions
для получения PHAssets
из библиотеки фотографий. Также я предоставил предикат для получения только фотографий. Ниже мой код:
let allPhotosOptions = PHFetchOptions()
allPhotosOptions.predicate = NSPredicate(format: "mediaType == 1")
allPhotosOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
fetchResult = PHAsset.fetchAssets(with: allPhotosOptions)
Однако я также получаю скриншоты. Я не хочу получать скриншоты. Я обнаружил, что есть свойство для этого. Он называется PHAssetMediaSubtype.photoScreenshot
Я обновил предикат, чтобы не получать скриншоты, но, похоже, он не работает. Многие из моих других изображений также фильтруются, которые не являются скриншотами. ниже мой обновленный код для предиката
allPhotosOptions.predicate = NSPredicate(format: "mediaType == 1 AND mediaSubtypes != %d", PHAssetMediaSubtype.photoScreenshot.rawValue)