ios - 从 Swift 中的 Share Extension 获取数据
问题描述
在我的应用程序中,我有一个CustomShareViewController
工作流程应该是这样的:
用户在某个网站上的 Safari 中查找任何类型的产品
用户点击“分享”并选择我的应用
我从当前 URL 解析数据并将其使用/存储在我的应用程序中
问题:
如何在 Swift 中获取数据?我设法得到了电流URL
,并且HTML
像这样:
@objc func actionButtonTapped(){
var html: String?
if let item = extensionContext?.inputItems.first as? NSExtensionItem,
let itemProvider = item.attachments?.first,
itemProvider.hasItemConformingToTypeIdentifier("public.url") {
itemProvider.loadItem(forTypeIdentifier: "public.url", options: nil) { (url, error) in
if (url as? URL) != nil {
html = (self.getHTMLfromURL(url: url as? URL))
self.doStuff(html: html)
}
}
}
}
但是有没有办法获取苹果提供的数据呢?(image
和title
)?
这就是Apple的数据,我的意思是:
解决方案
在@Filip 的提示下,我找到了这个 Git-Repo:
有了这个,我可以简单地得到这样的数据:
let urlString = ...
OpenGraphDataDownloader.shared.fetchOGData(urlString: urlString) { result in
switch result {
case let .success(data, isExpired):
// do something
case let .failure(error, isExpired):
// do something
}
}
推荐阅读
- javascript - react-native run-ios 失败并显示 ld: symbol(s) not found for architecture x86_64
- javascript - Node pattern I see, but do not understand why?
- microsoft-teams - Microsoft Teams Graph API 列表成员
- vb.net - VB.net Word 文档:添加新节后更新节号
- yaml - Azure 容器组 2 个具有 2 个外部端口的容器。第二个容器总是终止
- cassandra - Cassandra 在查询条件中使用“喜欢”
- wpf - WPF - 更改外部控件不透明度不会更改内部控件不透明度
- c++ - 找不到本地json文件的路径,C++
- html - 使用 HTML 加载属性进行本机延迟加载的风险?
- r - 错误:用 R 编写的 knn 函数中的外部函数调用(arg 6)中的 NA/NaN/Inf。有人可以纠正我吗?