如何使用Swift从我的应用程序中的今日扩展中打开Safari中的URL

时间:2018-01-25 00:08:14

标签: ios swift today-extension

我有一个今日扩展程序,让我说我只想打开一个网址let url = "https://google.com",当我按下我的小部件中的按钮goButton,在我的应用程序中使用safari打开它(在我的应用程序中使用{ {1}})

我在Info.plist中定义了一个自定义网址方案,并在我的按钮(SafariServices)中编写了这些代码行:

class TodayViewController

我已经从我的小部件中打开了我的主要应用程序,但是当我按下@IBAction func goButton(_ sender: Any) { let myAppUrl = URL(string: "Easy-tools://")! extensionContext?.open(myAppUrl, completionHandler: { (success) in if (!success) { print("error: failed to open app from Today Extension") } }) } 时,我不知道如何打开网址let url = "https://google.com"我在我的AppDelegate文件中添加了此func:

goButton

但我不知道如何打开它,顺便说一下我是swift的新手

1 个答案:

答案 0 :(得分:0)

所以这实际上是一个关于SafariServices的问题而不是今天的扩展?

说你是快速的"新的"你的意思是你之前曾使用iOS但是使用了Objective-C吗?

我假设您已阅读SafariServices documentation。我还没有使用它,但我认为它应该是这样的:

  1. 使用您的网址实施application(_:open:options:)(您在上面提到的那个)和initialize SFSafariViewController
  2. 展示您的safari视图控制器或将其推送到导航堆栈,就像任何其他视图控制器一样。
  3. 从Xcode模板创建的应用程序为您设置了某种根视图控制器,因此您可以在确定要呈现Safari视图的确切位置之前将其用于演示文稿。