WKWebView 没有在 swift 4 xcode 10 中初始化

Posted

技术标签:

【中文标题】WKWebView 没有在 swift 4 xcode 10 中初始化【英文标题】:WKWebView is not getting intialized in swift 4 xcode 10 【发布时间】:2019-01-05 02:17:05 【问题描述】:

谁能帮助我理解为什么我的 webView 没有在这里初始化。我收到以下错误,因为 webView 为 nil。

Fatal error: Unexpectedly found nil while unwrapping an Optional value

我到底错过了什么?

import UIKit
import WebKit


class MemoriesViewController: UIViewController, WKNavigationDelegate 

    @IBOutlet weak var webView: WKWebView!

    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    

    override func viewDidAppear(_ animated: Bool) 
        super.viewDidAppear( animated )

        let urlString:String = "https://www.apple.com"
        let url:URL = URL(string: urlString)!
        let urlRequest:URLRequest = URLRequest(url: url)
        webView.load(urlRequest)

    


    


为了更清楚地了解错误实际发生的位置的屏幕截图:

【问题讨论】:

检查插座连接 What does "fatal error: unexpectedly found nil while unwrapping an Optional value" mean?的可能重复 检查您是否将插座连接到故事板上的 webView 问题是我的输出没有连接到故事板 【参考方案1】:

将 Webkit.Frameworks 添加到链接框架和库

然后您可以为 WKWebView 添加 Outlet 并使用您的代码

import UIKit
import WebKit

class MyWebViewController: UIViewController 

@IBOutlet weak var myWV: WKWebView!

override func viewDidLoad() 
    super.viewDidLoad()

    // Do any additional setup after loading the view.
    let urlString:String = "https://www.apple.com"
    let url:URL = URL(string: urlString)!
    let urlRequest:URLRequest = URLRequest(url: url)
    myWV.load(urlRequest)




【讨论】:

你是我的救星。我花了大约 2 个小时来解决这个问题。 必须添加 Webkit.framework【参考方案2】:

在 Xcode 10 中,您可以按照以下步骤操作:

    点击项目 进入构建阶段 转到将二进制文件与库链接 在 Link Binary with Libraries 下单击 add plus sing 打开一个窗口并搜索 Webkit.framework 添加并享受它 显示下图

【讨论】:

这有改变吗?自 Xcode 10 和 Swift 4 以来,这似乎已成为我的问题?之前的链接方式不同吗? 把我算在困惑中。在 XCode 11 之前,这是不需要的。【参考方案3】:

问题是我的输出没有连接到情节提要。这就是为什么@IBOutlet was not getting initialized

【讨论】:

输出是什么意思?你是说出口吗

以上是关于WKWebView 没有在 swift 4 xcode 10 中初始化的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 4 中从 WKWebView 获取 cookie 值?

如何在swift 4中从WKWebView中的网页中删除DIV标签?

使用 Swift 4 滚动 WKWebview

来自钥匙串的 Swift 4 WKWebView 身份验证

如果没有在 Swift 中加载 URL,如何使 WKWebView 不可滚动?

Swift 4 WKWebView cookie 获取和删除同步问题