ios - 如何从 iOS 13 上的 LPMetadataProvider 获取图像?

标签 ios ios13

我想使用 LPMetadataProvider(iOS 13 上的新功能)来获取链接的图像表示(例如新闻文章链接的标题图像)。

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)!)
        })

   }

关于ios - 如何从 iOS 13 上的 LPMetadataProvider 获取图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57926213/

相关文章:

ios - 字符串扩展给出额外参数错误

objective-c - 更改 navigationController.delegate 会导致访问错误

swift - 为什么 iOS 13.2 中的 MPPlayableContentManager 协议(protocol)(MPPlayableContentDataSource 和 MPPlayableContentDelegate)没有被调用?

uikit - 如何在 iOS 13 的导航 Controller 中最初隐藏搜索栏?

ios - 我可以将任务分配给 iOS 中的特定核心吗?

iOS 促销代码和应用程​​序更新

ios - 在 iOS 中使用 AVFoundation 切换摄像头后视频录制不工作

keyboard - 如何在 SwiftUI 中设置 TextField 的键盘类型?

ios 13 推送通知在设备锁定后立即被清除

ios - 如何使用dynamicProvider为暗模式创建初始化程序