Я пытаюсь использовать WKScriptMessageHandler в своем приложении для iOS, чтобы ловить некоторые сообщения из JavaScript.
Я делаю это в функции в javascript:
var dict = { "favourite": "true", "id": "id" };
webkit.messageHandlers.callbackHandler.postMessage(dict);
И в iOS я настроил свой WebView следующим образом:
let contentController = WKUserContentController()
contentController.add(self, name: "callbackHandler")
let config = WKWebViewConfiguration()
config.userContentController = contentController
webview = WKWebView( frame: view.bounds, configuration: config)
view.insertSubview(webview!, at: 1)
в методе loadView ().
Мой ViewController реализует WKScriptMessageHandler и его метод userContentController следующим образом:
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
print("in")
}
но что бы я ни пытался, метод userContentController никогда не вызывался.