1

WKWebView を使用して、Safari アプリ拡張機能のポップアップに HTML をロードしています。を使用してこのページにメッセージを送信しようとしてwebView.evaluateJavaScript("myFunction()")いますが、エラー メッセージ で失敗しますEXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)

最初はページが webView に読み込まれていないため、このエラーがスローされると思いましたが、ここではそうではありません。ページは完全に読み込まれますが、何らかの理由でこのエラーが発生します。これが私のコードです。

@IBOutlet var webView: WKWebView!

func webView(_ webView: WKWebView,didFinish navigation: WKNavigation!) {
     webView.evaluateJavaScript("myFunction()", completionHandler: nil)   
}

override func viewDidLoad() {
    super.viewDidLoad()
    webView.configuration.userContentController.add(self, name: "popup")
    webView.configuration.userContentController.add(self, name: "print")
    webView.navigationDelegate = self
    view.addSubview(webView!)
    self.view = webView

    if let url = Bundle.main.url(forResource: "MyPopup", withExtension: "html") {
        webView.loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent())
    }     
}

completionHandler 内でエラーをチェックしようとしましたが、そこには行きません。何か案は?

4

1 に答える 1