我正在尝试使用swift从照片库中检索图像。这是适用于iOS的以下代码:
func fetchPHAssets() -> [PHAsset] {
var assets = [PHAsset]()
let options = PHFetchOptions.init()
options.predicate = NSPredicate.init(format: "(mediaSubtype & %d) != 0", PHAssetMediaSubtype.photoScreenshot.rawValue)
let fetchAssets: PHFetchResult = PHAsset.fetchAssets(with: .image, options: options)
fetchAssets.enumerateObjects({ (asset, _, _) in
assets.append(asset)
})
return assets
}
Mac应用的照片框架没有采用子类型的PHAsset.fetchAssets方法。所以我尝试了下面的代码来获得结果:
func fetchPHAssets() -> [PHAsset] {
var assets = [PHAsset]()
let options = PHFetchOptions.init()
//retrieve only screen shots
options.predicate = NSPredicate.init(format: "(mediaSubtype & %d) != 0", PHAssetMediaSubtype.photoScreenshot.rawValue)
let fetchAssets: PHFetchResult = PHAsset.fetchAssets(in: PHAssetCollection.init(), options: nil)
fetchAssets.enumerateObjects({ (asset, _, _) in
assets.append(asset)
})
return assets
}
但结果是0。
我试着查看文档,但写得很差,没有任何解释。在线探索能够找到仅适用于iOS应用的示例。任何形式的帮助表示赞赏。感谢。