WKWebView 错误: "The requested URL was not found on this server"



in xcode 7 beta3

当我使用object-c是好的,但是当我使用swift时,我得到一个错误:"请求的URL没有在这个服务器上找到",为什么?

代码如下:

#import "ViewController.h"
#import <WebKit/WebKit.h>

@interface ViewController ()
    @property(strong,nonatomic) WKWebView *webView;
@end
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSURL *url = [NSURL URLWithString:@"http://www.apple.com"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    _webView = [[WKWebView alloc] initWithFrame:self.view.frame];
    [_webView loadRequest:request];
    [self.view addSubview:_webView];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end 

swift:
import UIKit
import WebKit
class ViewController: UIViewController,WKNavigationDelegate {
    var webview: WKWebView?
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        webview = WKWebView(frame: self.view.frame)
        self.webview!.navigationDelegate = self
        let req = NSURLRequest( URL: NSURL( fileURLWithPath: "http://www.apple.com"))
        webview?.loadRequest(req)
        self.view.addSubview(webview!)
    }
    // MARK: WKNavigationDelegate
    func webView(webView: WKWebView, didCommitNavigation navigation: WKNavigation!) {
        NSLog("commit")
    }
    func webView(webView: WKWebView, didFailNavigation navigation: WKNavigation!, withError error: NSError) {
        NSLog("err: " + error.localizedDescription)
    }
    func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
        NSLog("err2: " + error.localizedDescription)
    }
    func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
        NSLog("finish")
    }
    func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
        NSLog("start")
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

使用以下代码:

let req = NSURLRequest(URL: NSURL(string: "http://www.apple.com")!)

而不是:

let req = NSURLRequest( URL: NSURL( fileURLWithPath: "http://www.apple.com"))

它会运行良好

最新更新