【发布时间】:2019-12-04 11:57:48
【问题描述】:
我想从照片库中获取资产列表,但从 smartAlbumBursts、smartAlbumLivePhotos、smartAlbumScreenshots 等智能文件夹中排除子类型或资产
我的代码是
let options = PHFetchOptions()
options.sortDescriptors = [ NSSortDescriptor(key: "creationDate", ascending: true) ]
options.predicate = predicate
let assets = PHAsset.fetchAssets(with: PHAssetMediaType.image, options: options)
我试图做这样的谓词:
let predicateType = NSPredicate(format: "mediaSubtypes != %@",
PHAssetMediaSubtype.photoScreenshot as! CVarArg)
但是 1. 它崩溃 2. 我只能为截图和 livePhoto 添加 PHAssetMediaSubtype 但不能用于连拍照片。
我知道有方法
if let collection = PHAssetCollection.fetchAssetCollections(with: .smartAlbum,
subtype: .smartAlbumBursts, options: nil).firstObject {
但我不确定如何为我的目的使用该方法或子类型
正在尝试使用代表Burst,但发生了崩溃:
let predicateType = NSPredicate(format: "representsBurst == %@", NSNumber(value: false))
原因:'获取选项中不支持的谓词:表示Burst == 0'
【问题讨论】:
标签: ios swift assets phasset photolibrary