UISplitViewController
基础应用,主要为UITableViewController
,详情为UIViewController
。
当UITableViewController
小区点按,NSNotificationCenter
发布notification
后,重新加载WKWebView
中的detailViewController
。
成功重新加载,但总是触发WKNavigationDelegate [webView:didFailProvisionalNavigation:withError:],为什么????
MasterViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
dispatch_async(dispatch_get_main_queue(), ^{
[[NSNotificationCenter defaultCenter]postNotificationName:aNotification
object:nil];
});
}
DetailViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(__shouldReload:) name:aNotification object:nil];
}
- (void)__shouldReload:(NSNotification *)sender
{
[_webView reload];
}
答案 0 :(得分:0)
这是由" App Transport Security"引起的。您可以使用HTTPS,也可以在Info.plist中设置例外。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
WWDC视频Networking with NSURLSession
App Transport Security
应用传输安全(ATS)在应用及其后端之间的安全连接中实施最佳做法。 ATS防止意外泄露,提供安全的默认行为,并且易于采用;它在iOS 9和OS X v10.11中默认也是打开的。无论您是在创建新应用程序还是更新现有应用程序,都应该尽快采用ATS。
如果您正在开发新应用,则应该专门使用HTTPS。如果您有现有应用,则应尽可能多地使用HTTPS,并创建一个计划,以便尽快迁移其余应用。此外,您通过更高级别的API进行的通信需要使用具有前向保密性的TLS 1.2版进行加密。如果您尝试建立不符合此要求的连接,则会引发错误。如果您的应用需要向不安全的域发出请求,则必须在应用的Info.plist文件中指定此域。