travelbrand://酒店/ 123
这是深层链接URI的示例;在哪里告诉我的应用程序,“酒店”一词表示包含酒店的视图控制器?
最佳答案
当有人点击链接并将其路由到您的应用程序中时,系统会调用UIApplicationDelegate
中的两种方法之一。
- application:openURL:sourceApplication:annotation:
其中
url
参数是将用户带到此处的NSURL
。- application:didFinishLaunchingWithOptions:
并且
launchOptions
参数将包含一个名为UIApplicationLaunchOptionsURLKey
的键,其值将是用于启动该应用程序的NSURL
。无论哪种情况,您最终都会得到一个
NSURL
,您可以通过获取absoluteString
并对其进行字符串操作来手动解析,也可以使用NSURLComponents
之类的东西进行解析。您的网址的
NSURLComponents
解决方案可能类似于:NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
NSString *scheme = components.scheme; // travelbrand
NSString *host = components.host; // hotel
NSString *path = components.path; // /123