ios - 如何使用操作扩展来抓取网页内容?
问题描述
我正在尝试在我的 iOS 应用程序中使用操作扩展,以允许用户将购物项目保存到UITableView
. 我希望共享扩展能够像这样工作:
- 用户在 Safari 中打开一个网页(例如Best Buy 上的这个页面)
- 用户点击 Share 按钮,Share Sheet 就会出现。
- 用户可以点击我的应用程序图标,
UIViewController
并且用户应该能够点击完成,并且网页详细信息(产品名称和价格)应该保存到我的应用程序中。
但是,我不确定如何获取某些网页内容,以便获取商品名称和价格。
我尝试使用Apple关于共享扩展的文档,但是,它是用 Objective-C 编写的,而不是 Swift。
我可以在didSelectPost()
方法中使用以下代码获取网页 URL:
if let item = extensionContext?.inputItems.first as? NSExtensionItem {
if let itemProvider = item.attachments?.first as? NSItemProvider {
if itemProvider.hasItemConformingToTypeIdentifier("public.url") {
itemProvider.loadItem(forTypeIdentifier: "public.url", options: nil, completionHandler: { (url, error) -> Void in
if let shareURL = url as? NSURL {
print("Here is the URL: \(shareURL)")
}
self.extensionContext?.completeRequest(returningItems: [], completionHandler:nil)
})
}
}
}
当用户在 Safari 共享表中点击我的应用程序时,如何从网站获取商品名称和商品价格以及 URL?
解决方案
推荐阅读
- reactjs - React-scripts@4 编译失败,因为更漂亮
- python - 不接受任何论据
- docker - 启动时自动创建 Rundeck 作业(Docker 容器中的 Rundeck)
- pyspark - 如何使用 pyspark 数据框编写 tab.gz 文件
- forms - 我无法在我的 Vue 项目中向控制台提交任何数据
- node.js - 套接字不适用于 nginx 的生产环境
- node.js - 向用户显示与实际角度不同的路线
- javascript - 如何使用 mongoDB $match 查询实现 $regex 查询
- c++ - 网格未显示(全黑)
- azure-logic-apps - 尝试在逻辑应用中创建自定义 SFDC 连接器