WebView会自动在URL之前添加文件://

时间:2015-01-08 15:58:06

标签: ios webview

我已在我的应用程序中添加了自定义URL Scehme。喜欢myapp://

所以只要它检测到myapp:// http://google.com。它应该重定向到我的应用程序。以及webview上的URL。

在Appdelegate:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    NSString *strURL = [url.absoluteString stringByReplacingOccurrencesOfString:@"myapp://" withString:@""];

    WebViewController *objWebView = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil] ;
    objWebView.url=strURL;
    [[[UIApplication sharedApplication]keyWindow].rootViewController presentViewController:objWebView animated:YES completion:NULL];

    return YES;
}

但是当我用该URL加载请求时。它在该URL之前附加file://如何在Web视图中加载URL。

NSURL *targetURL = [NSURL URLWithString:self.url];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
    NSLog(@"%@",request.URL); // O/P :  htpp//google.com

ON shouldStartLoadWithRequest

    -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    {

  NSLog(@"%@",request.URL);  file://htpp//google.com
         return true;

    }

最后它失败并显示错误

  

错误域= NSURLErrorDomain代码= -1100“请求的URL不是   在这台服务器上找到。“UserInfo = 0x7983bb30   {NSErrorFailingURLStringKey =文件://htpp//google.com,   NSErrorFailingURLKey =文件://htpp//google.com,   NSLocalizedDescription =未找到请求的URL   server。,NSUnderlyingError = 0x78fbbe70“找不到请求的URL   在这台服务器上。“}

1 个答案:

答案 0 :(得分:1)

您的网址错误。什么是htpp//google.com?它应该是http://google.com