Ios 在swift中配置深度链接?

Ios 在swift中配置深度链接?,ios,swift,appdelegate,deep-linking,Ios,Swift,Appdelegate,Deep Linking,所以我有一个用swift编写的应用程序,我想使用深层链接。用户会点击一个在URL路径中有不同信息的站点,比如帖子的id、喜欢的数量等等。我知道您在AppDelegate中添加了以下内容: func application(application: UIApplication,openURL url: NSURL,sourceApplication sourceApplication: String?,annotation annotation: AnyObject?) -> Bool {

所以我有一个用swift编写的应用程序,我想使用深层链接。用户会点击一个在URL路径中有不同信息的站点,比如帖子的id、喜欢的数量等等。我知道您在AppDelegate中添加了以下内容:

func application(application: UIApplication,openURL url: NSURL,sourceApplication sourceApplication: String?,annotation annotation: AnyObject?) -> Bool {
    println(url.host as String!)
    return true
}
这将打印
appname://
之后的所有内容。但是我如何才能将
url.host
解析到我的视图控制器中,以获得我所需的信息。如果URL的声明不在该函数的范围内,那么我可以使用:

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let InfoFromDeepLink = appDelegate.url.host

但由于它在庞大的Objective-C函数中,我无能为力。你是怎么做到的?我完全不知所措。我甚至不能将函数设置为
return url.host
,因为它不允许这样做。这就是我在Javascript中要做的。如果你也知道Javascript,也许可以用web开发人员会理解的术语来表达,因为我对这方面还很陌生。对于一个敏捷的开发人员来说,这必须如此简单,对吗?我觉得自己太蠢了。

我建议使用这个叫

pod“DeepLinkKit”

您可以简化路由并进行错误处理:

// Matches the URL.
router[@"timeline"] = ^{ … }

// Does not match the URL.
router[@"/timeline"] = ^{ … }

苹果不再支持深度链接。它现在被称为通用链接,其工作方式有所不同

来源

既然苹果不再支持用于深度链接的URI方案,开发者必须实现通用链接,以便在iOS上正确地进行深度链接。如果您已经在使用URI方案,请查看我们关于转换到通用链接的博客

发件人:


这是另一篇关于通用链接及其内容的文章。

那么我可以在我的Swift项目中使用这个库吗?我看到它是用Objective C编写的。
苹果不再支持深度链接
。来源请!不管怎么说,这不是苹果现在说的