在我的应用程序中,我有一个webview,它会加载一个包含普通链接和自定义URL方案的页面,例如myapp:// id = 1234。
现在,我正试图在此函数中捕获请求:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType{
NSLog(@"NSURLRequest = %@", [[request URL] absoluteString]);
}
如上所述打印出网址给了我:
http://localhost:8888/myapp://id=1234
这是我在MAMP上的本地主机设置,其中自定义URL附加到URL。
我曾希望我可以直接使用[请求方案],但现在在这种情况下,它只返回“http”。有没有办法可以在我自己的应用程序中处理自定义URL方案?
此时,我希望能够做到以下几点:
谢谢!
答案 0 :(得分:0)
当一个URL在冒号后面有一个双斜杠时,就像你的一样,下一部分应该看起来像userinfo@hostname:port
(userinfo@
和:port
都可以省略。由于id=1234
看起来不像主机名,因此URL解析器无法将您的URL识别为绝对URL。因此,URL解析器将其视为相对URL。
尝试将您的网址语法更改为myapp:id=1234
或myapp:///id=1234
。
答案 1 :(得分:0)
我猜您应该声明由您的应用程序处理的任何自定义URL方案。