我需要將各種各樣的網站URL(來自web服務)加載到WKWebview中。WKWebview將不會正確加載某些網站
一些網站,表現相當不錯,只是通過在URL中替換 「HTTP」 爲 「https」 正常加載:
http://www.yahoo.com/news -> loads blank
**https://www.yahoo.com/news -> loads OK!!**
URLs without the https:// prefix will NOT load at all.
http://www.google.com -> blank
**https://www.google.com -> Loads OK!!!**
http://www.bbc.co.uk/news (no .plist Exception) -> blank
https://www.bbc.co.uk/news (no .plist Exception) -> blank
http://www.bbc.co.uk/news (WITH .plist Exception) -> blank
https://www.bbc.co.uk/news (WITH .plist Exception) -> blank
(我在Mac OS瀏覽器粘貼https://www.bbc.co.uk/news,並得到重定向到https://www.bbc.co.uk/news,所以我想他們也:)
https://www.bbc.com/news (WITH .plist Exception) -> Images and text are loaded in a messy, unformatted, basic way.
http://www.bbc.com/news (WITH .plist Exception) -> Images and text are loaded in a messy, unformatted, basic way.
https://www.bbc.com/news (WITHOUT .plist Exception) -> blank
http://www.bbc.com/news (WITHOUT .plist Exception) -> blank
其他網址的行爲就像BBC,或者,雅虎以上的例子。
這是我在.plist文件上使用的那種異常。
這是我的代碼:
- (void)viewDidLoad{
[super viewDidLoad];
CGRect wkFrame = _wios10container.frame;
NSLog(@"WPVC - viewDidLoad, wkFrame: %@",NSStringFromCGRect(wkFrame));
WKWebViewConfiguration *wkConfiguration = [[WKWebViewConfiguration alloc] init];
_webviewIOS10 = [[WKWebView alloc] initWithFrame:_wios10container.frame configuration:wkConfiguration];
_webviewIOS10.navigationDelegate = self;
[_wios10container addSubview:_webviewIOS10];
}
我的問題是:
- 我怎樣才能正確地加載網站,如英國廣播公司?
- 我該如何準備我的應用程序加載任何網址,而無需使用例外情況下的龐大列表 ?
- 如果我將NSAppTransportSecurity.NSAllowsArbitraryLoads設置爲YES,該應用可以正常工作,但我根本不喜歡這樣。 爲了安全和App Store審批,我還有什麼替代方案?
我會盡力,謝謝。通過一個大列表,我的意思是:我無法預測在運行時可以通過在.plist文件中單獨設置所有可能的URL。當我嘗試你的方法時,我會回來的。 – Josh