2015-10-19 85 views
0

所以我更新到iOS 9,看到webview只是我的应用程序的空白屏幕。我阅读并了解了ATS。我看到了将NSAllowsArbitraryLoads切换为真实的快速解决方案,但我不想冒着被Apple拒绝的风险。我所要做的就是加载应用程序的网页。我已将该域添加到Info.plist上的NSExceptionDomain列表中。所以现在它加载,但问题是它只是HTML。它不加载任何CSS或图像。这是页面域的字典下的内容。iOS 9 Webview只加载HTML

<key>NSIncludesSubdomains</key> 
<true/> 
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
<true/> 
<key>NSTemporaryExceptionMinimumTLSVersion</key> 
<string>1.0</string> 

回答

0

你可以忽略所有的plist东西,尝试SFSafariViewController代替UIWebViewController的。

Class class = NSClassFromString(@"SFSafariViewController"); 
if(class) 
{ 
    SFSafariViewController *webController = [[SFSafariViewController alloc] initWithURL:[NSURL URLWithString:path]]; 
    ... 
    [self presentViewController:navController animated:YES completion:^{ 
     }]; 
} 
else 
{ 
    //Use the standard webview controller 
} 

该控制器的视图是为了忽略新的TLS要求而构建的。 IT为我的项目工作,希望它足够接近您的需求来帮助。

+0

感谢您的回复。是的,我试图看看是否可以避免使用SFSafariViewController,以便网页仍然感觉应用程序的一部分保持应用程序的外观。但是,越多我研究越多,似乎我不得不使用SFSafariViewController。谢谢你的帮助 – user1563560