我正在努力将UIWebView迁移到WKWebView.我已经更改了所有Delegate方法.我需要WKWebView委托方法等于下面的UIWebView委托方法.该应用程序运行正常.但是登录会话没有保留
UIWebView:
extension WebViewController: UIWebViewDelegate {
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
guard let url = request.url else {
return true
}
guard !url.absoluteString.contains("data:application/pdf") else {
navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.action,
target: self,
action: #selector(share(sender:)))
return true
}
guard url.pathExtension != "pdf" else {
let safariVC = SFSafariViewController(url: url)
safariVC.modalPresentationStyle = .popover
present(safariVC, animated: true, completion: nil)
return false
}
guard url.isLogin() == false else {
AppDelegate.navigationController.signOut(.sessionOnly)
return false
}
guard let mobileSite = url.asMobileSite() …Run Code Online (Sandbox Code Playgroud) 我有一个部署目标版本的应用/项目 - iOS 10.
我曾经使用过UIWebView,现在已被弃用并被替换为WKWebView.所以,我想在我的项目中用UIWView替换WKWebView.
它迫使我使用UIWebView(使用iOS 10)或将部署目标更改为iOS 11.
我不能改变部署目标,但作为中间件解决方案,我添加了代码(编程)支持.我的意思是,如果用户的设备操作系统是iOS 11(或更高版本),则使用WKWebView其他用途UIWebView(适用于iOS 10或更低版本).
问题陈述:故事板的视图控制器不支持这两个版本,我的意思是,在故事板中,如果我将View控制器的部署目标设置为iOS 11,那么应用程序在iOS 10中崩溃(显而易见)应该崩溃,如果我将视图控制器的部署目标设置为iOS 10,那么storyboard不允许我构建项目.
对于iOS 10,WKWebView向我显示此错误:Xcode 9 GM - WKWebView NSCoding支持在以前的版本中被破坏
问题:如何使故事板(视图控制器)WKWebView用于iOS 11和UIWebViewiOS 10?故事板(视图控制器)中是否有任何配置设置或选项可以允许我添加两个接口插座?