如何从 iOS 13 上的 LPMetadataProvider 获取图像?
How do you get the image out of LPMetadataProvider on iOS 13?
我想使用 LPMetadataProvider
(iOS 13 上的新功能)来获取 link 的图像表示(例如新闻文章的 header 图像link).
let provider = LPMetadataProvider()
provider.startFetchingMetadata(for: URL(string: "https://someurl/")!) { (metadata, error) in
metadata?.imageProvider?.howDoIGetTheImageOut()
})
看似可以 loadDataRepresentation
,但 iOS 13 文档似乎更推荐使用 loadPreviewImage
,但我不确定要传递什么或如何传递使用那个方法。
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)!)
})
}
我想使用 LPMetadataProvider
(iOS 13 上的新功能)来获取 link 的图像表示(例如新闻文章的 header 图像link).
let provider = LPMetadataProvider()
provider.startFetchingMetadata(for: URL(string: "https://someurl/")!) { (metadata, error) in
metadata?.imageProvider?.howDoIGetTheImageOut()
})
看似可以 loadDataRepresentation
,但 iOS 13 文档似乎更推荐使用 loadPreviewImage
,但我不确定要传递什么或如何传递使用那个方法。
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)!)
})
}