深层链接URI如何在iOS上运行?

时间:2015-04-12 20:48:08

标签: ios deep-linking

travelbrand://酒店/ 123

这是深层链接URI的一个例子;在哪里告诉我的应用程序“酒店”这个词是指包含酒店的视图控制器?

1 个答案:

答案 0 :(得分:7)

当有人点击链接并且操作系统将其路由到您的应用时,系统会调用UIApplicationDelegate中的两种方法之一。

  1. 如果应用已在运行,则该方法将
  2. - application:openURL:sourceApplication:annotation:

    其中url参数将是将用户带到那里的NSURL

    1. 如果应用程序是冷启动,那么方法将是
    2. - application:didFinishLaunchingWithOptions:

      并且launchOptions参数将包含一个名为UIApplicationLaunchOptionsURLKey的密钥,其值将是用于启动应用的NSURL

      在任何一种情况下,您最终都会得到一个NSURL,您可以通过获取absoluteString并对其进行字符串操作或使用NSURLComponents之类的内容手动解析。 / p>

      您网址的NSURLComponents解决方案可能如下所示:

      NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
      NSString *scheme = components.scheme; // travelbrand
      NSString *host = components.host; // hotel
      NSString *path = components.path; // /123