UIWebView无法在iOS 9中的某个时间加载数据

时间:2015-09-30 07:17:38

标签: uiwebview ios9 wkwebview

iOS 9中的UIWebView未加载(移动网页)某些时间。我已经使用 NSAllowsArbitraryLoads 来使用ATS绕过。问题没有发生在iOS 7和8。      调用了委托方法webViewDidStartLoad,但根本没有调用webViewDidFinishLoad和didFailLoadWithError。

1 个答案:

答案 0 :(得分:1)

找到解决方案。你需要做的就是删除iOS 9中的UIWebView并使用WKWebView 。我的网页有一些第三方调用twitter,Instagram等是https.Also我正在获取Auth在我的网页挑战..! (即使我禁用了ATS)。我通过使用WKWebView找到了这个,它有代表来处理auth挑战。

设置以下代理以获取auth挑战并处理它。

- (void)webView:(WKWebView *)webView
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler

{
    SecTrustRef serverTrust = challenge.protectionSpace.serverTrust;
    CFDataRef exceptions = SecTrustCopyExceptions(serverTrust);
    SecTrustSetExceptions(serverTrust, exceptions);
    CFRelease(exceptions);

    completionHandler(NSURLSessionAuthChallengeUseCredential,
                      [NSURLCredential credentialForTrust:serverTrust]);

}