Как получить все изображения из библиотеки фотографий с помощью фоторамки в Mac с помощью Swift?

Я пытаюсь получить изображения из библиотеки фотографий с помощью 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
}

Фреймворк Photos for 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 приложения. Любая помощь приветствуется. Благодарю.

0 ответов

Другие вопросы по тегам