与 IOS 深层链接混淆

use*_*085 3 iphone facebook objective-c deep-linking

我只是想问这里是否有人知道为 IOS 应用程序创建深层链接的逐步过程?我尝试阅读一些文章,但它没有给我绝对的答案。谢谢 :)

Dan*_*ard 5

深层链接基本上只是设置应用程序的 url,以便其他应用程序可以使用信息启动它。如果您进行设置以便您的应用程序对某些 URL 做出反应,则可以启动应用程序的某些部分。因此,您必须做一些事情。对于此示例,我将使用两个应用程序。如果您尝试与现有应用程序集成,您只需找出它们的 url 方案是什么。因此,在本示例中,我将使用“消息”作为一个应用程序,使用“时间表”作为另一个应用程序。
首先:在“消息”应用程序中,我们需要设置我们的日程应用程序要调用的方案。

因此,打开您的第一个应用程序,我们需要添加方案,以便其他应用程序可以打开它。单击info.plist 小+并键入,URL types点击三角形以展开并点击+类型URL Schemes,然后在其中添加一个项目并将您的应用程序名称放入其中。还要添加URL identifier作为$(PRODUCT_BUNDLE_IDENTIFIER)值。`info.plist 配置

然后我们只需要添加我们可以打开的应用程序,然后再次点击顶级+并添加LSApplicationQueriesSchemes这会将应用程序列入白名单,以便我们可以评估天气或它们是否安装在设备上。

LS应用查询方案 现在我们可以跳转到另一个应用程序并创建一种调用它的方法。对于这个例子,让我们在按下按钮时实现它。

IBAction launchMessagesApp() {

  let url = NSURL(string: "Messages://") where UIApplication.sharedApplication().canOpenURL(url) {
    self.launchAppWithURL(url, name: "Messages")
    }
Run Code Online (Sandbox Code Playgroud)

检查canOpenURL(url)应用程序是否在设备上。如果您愿意,您可以将应用程序商店启动到您的应用程序(如果返回错误)。然后launchAppWithURL实际启动它。这是基本设置,您可能还希望发生多种情况,因此您可能有多个 url 方案来启动相同的应用程序,但将其带到应用程序的不同部分。在函数中应用程序的应用程序委托中

  func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
    print(url)
    //Any customizations for the app here  
}
Run Code Online (Sandbox Code Playgroud)

你可以做任何你能想象到的事情。