在swift中configuration深层链接?

所以我有一个用swift编写的应用程序,我想使用深层链接。 用户可以点击一个URL的路线中有不同的信息,如post的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开发人员会理解,因为我很新。 对于Swift开发人员来说,这必须如此简单吗? 我觉得很愚蠢

我build议使用这个叫做DeepLinkKit的 cocoapods包, 这里是源代码

pod "DeepLinkKit"

你可以简单的路线和error handling:

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

这里有一个很好的教程 ,可以深入展示它是如何工作的。

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

资源

现在,Apple不再支持用于深度链接的URIscheme,开发人员必须实现Universal Links才能在iOS上正确地进行深度链接。 如果您已经在使用URIscheme,请查看我们的博客,了解如何转换到Universal Links。

来自: 这里

这里是关于Universal Links的另一篇文章,它是什么。