为什么这个WebView不会加载带字符串的外部URL?

时间:2015-12-10 01:02:05

标签: objective-c macos webkit

我正在使用this project让我开始使用OSX下的WebKit框架。

它在本地加载资源,我已经能够让它工作了。但是,当我将awakeFromNib更改为从http://www.example.com/index.html这样的URL字符串加载时,它不起作用,视图为空,即使这是一个有效的URL。

原件:

- (void)awakeFromNib {
    WebPreferences *prefs = [webView preferences];
    [prefs _setLocalStorageDatabasePath:@"~/Library/WebViewExample/LocalStorage"];

    NSString *resourcesPath = [[NSBundle mainBundle] resourcePath];
    NSString *htmlPath = [resourcesPath stringByAppendingString:@"/htdocs/640x480_naked.html"];
    [[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]];

}

为外部网址修改:

- (void)awakeFromNib {
    WebPreferences *prefs = [webView preferences];
    [prefs _setLocalStorageDatabasePath:@"/tmp"];

    NSString *urlText = @"http://www.example.com/index.html";
    [[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlText]]];
}

可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

感谢@danh的评论和链接。这解决了我。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>