相关疑难解决方法(0)

将UIWebView委托迁移到WKWebView委托方法

我正在努力将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 swift swift3 xcode8

22
推荐指数
2
解决办法
5310
查看次数

iOS:WKWebView与UIWebView

我有一个部署目标版本的应用/项目 - 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?故事板(视图控制器)中是否有任何配置设置或选项可以允许我添加两个接口插座?

uiwebview ios wkwebview ios10 ios11

2
推荐指数
1
解决办法
5776
查看次数

标签 统计

ios ×2

ios10 ×1

ios11 ×1

swift ×1

swift3 ×1

uiwebview ×1

wkwebview ×1

xcode8 ×1