Я создал приложение, которое использует WKWebView для отображения HTML-страницы. Я встроил кнопку, которая вызывает функцию javascript для отправки сообщения в мой код. Это прекрасно работает на iOS 12, но когда я отлаживаю для iOS 9, это вообще не работает. Обработчик сообщений не вызывается.
Я пробовал несколько разных способов сделать это для iOS 9, но, похоже, ничего не работает.
Это мой быстрый код:
let config = WKWebViewConfiguration()
let content = WKUserContentController()
content.add(self, name: "callback")
config.userContentController = content
page = WKWebView(frame: self.WKBaseView.bounds, configuration: config)
Вот как я обрабатываю сообщение:
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
dump(message.body)
}
Это то, что я называю из JS:
try {
webkit.messageHandlers.callback.postMessage("test");
} catch(err) {
console.log('Can not reach app');
}
Так как это отлично работает на iOS 12, это ошибка в iOS 9 или есть какой-то другой способ сделать это?