如何获取Apple从分享链接提取的精准图片与标题信息?
Apple 分享链接元数据获取的官方方案说明
- Apple 官方提供了专门的框架来处理链接元数据的解析,和原生分享功能用的是同一套逻辑——LinkPresentation 框架(iOS 13+、macOS 10.15+),比手动解析OpenGraph的兼容性好太多。
- 这个框架能自动提取链接的标题、预览图、描述等信息:系统会优先读取目标网站的OpenGraph数据,同时还会 fallback 到HTML的基础meta标签,所以能覆盖绝大多数网站,解决你提到的OpenGraph仅部分有效的问题。
- 简单使用示例(Swift):
import LinkPresentation // 目标链接 let targetURL = URL(string: "https://your-target-url.com")! let metadataProvider = LPMetadataProvider() // 异步获取元数据 metadataProvider.startFetchingMetadata(for: targetURL) { metadata, error in guard let metadata = metadata, error == nil else { // 处理解析失败场景 return } // 获取标题 let linkTitle = metadata.title // 获取预览图 metadata.imageProvider?.loadObject(ofClass: UIImage.self) { image, error in guard let previewImage = image as? UIImage else { return } // 拿到图片后做后续处理 } }
- 注意事项:
- 如果需要解析HTTP链接,需在Info.plist中配置
NSAppTransportSecurity的例外规则,不过目前大部分站点都是HTTPS,基本无需额外操作。 - 解析为异步操作,所有结果处理需在回调内完成,避免阻塞主线程。
- 如果需要解析HTTP链接,需在Info.plist中配置
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

