Swift 3 - 从共享扩展程序到主应用程序共享URL和标题?

时间:2017-04-04 05:26:35

标签: ios swift firebase swift3 share-extension

我在创建ShareExtension时从this tutorial获得了以下内容:

override func didSelectPost() {
        self.extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
}

使用此javascript获取网址:

var GetURL = function() {};
GetURL.prototype = {
   run: function(arguments) {
      arguments.completionFunction({"URL": document.URL});
   }
};
var ExtensionPreprocessingJS = new GetURL;

我想了解如何修改didSelectPost,以便将此网址传递给我的主应用。我已经从this response创建了一个共享应用程序组,但问题是我的主应用程序使用Firebase来存储和更新TableView(这只是一个URL列表,如阅读列表)。我知道我不能在shareExtension中使用Firebase(它们应该尽可能简单) - 但我不知道如何做到这一点。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:-1)

在ShareViewController顶部创建一个变量var url: URL?。然后,在viewDidLoad中添加此代码以设置url的值:

viewDidLoad Code

然后,您可以尝试通过保护语句guard let successfulURL = self.url else { return }访问didSelectPost区域中的url变量,并根据需要使用successfulURL变量。希望这有帮助。