Swift 3 - 从共享扩展共享 URL 和标题到主应用程序?
Posted
技术标签:
【中文标题】Swift 3 - 从共享扩展共享 URL 和标题到主应用程序?【英文标题】:Swift 3 - Share URL and title from share extension to main app? 【发布时间】:2017-04-04 05:26:34 【问题描述】:我从this tutorial 获得以下关于创建 ShareExtension 的信息:
override func didSelectPost()
self.extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
哪个使用这个javascript来获取url:
var GetURL = function() ;
GetURL.prototype =
run: function(arguments)
arguments.completionFunction("URL": document.URL);
;
var ExtensionPreprocessingJS = new GetURL;
我想了解如何修改 didSelectPost
,以便将此 URL 传递给我的主应用程序。我从this response 创建了一个共享应用程序组,但问题是我的主应用程序使用 Firebase 来存储和更新 TableView(这只是一个 URL 列表,就像一个阅读列表)。我知道我不能在 shareExtension 中使用 Firebase(它们应该尽可能简单) - 但我无法找到其他方法。
任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:在 ShareViewController 顶部创建一个变量:var url: URL?
。然后,在 viewDidLoad 中添加这段代码来设置你的 url 的值:
然后,您可以尝试通过保护语句访问 didSelectPost 区域中的 url 变量:guard let successfulURL = self.url else return
,并根据需要使用successfulURL 变量。希望这会有所帮助。
【讨论】:
以上是关于Swift 3 - 从共享扩展共享 URL 和标题到主应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
将图像从 URL 保存到库,重命名并使用 Swift 共享它