2

I want to use LPMetadataProvider (new on iOS 13) to get an image representation for a link (for instance the header image for a news article link).

let provider = LPMetadataProvider()
provider.startFetchingMetadata(for: URL(string: "https://someurl/")!) { (metadata, error) in
    metadata?.imageProvider?.howDoIGetTheImageOut()
})

Seemingly you can do loadDataRepresentation, but iOS 13 docs seem to indicate more of a recommendation to use loadPreviewImage, but I'm not sure what to pass or how to use that method.

christianselig
  • 405
  • 4
  • 17

1 Answers1

3
let metadataProvider = LPMetadataProvider()
let url = URL(string: "https://www.instagram.com/p/B1ZLpsZnwkY/")!

metadataProvider.startFetchingMetadata(for: url) { metadata, error in
  if error != nil {
    return
  }

  let IMAGE_TYPE = kUTTypeImage as String
  metadata?.imageProvider?.loadFileRepresentation(forTypeIdentifier: IMAGE_TYPE, completionHandler: { (url, imageProviderError) in
            if imageProviderError != nil {
                // The fetch failed; handle the error.
                return
            }
            let myImage = UIImage(contentsOfFile: (url?.path)!)
        })

   }
souvickcse
  • 7,742
  • 5
  • 37
  • 64