travelbrand://酒店/ 123
这是深层链接URI的一个例子;在哪里告诉我的应用程序“酒店”这个词是指包含酒店的视图控制器?
答案 0 :(得分:7)
当有人点击链接并且操作系统将其路由到您的应用时,系统会调用UIApplicationDelegate
中的两种方法之一。
- application:openURL:sourceApplication:annotation:
其中url
参数将是将用户带到那里的NSURL
。
- 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