WkWebView блокирует запросы, когда они не видны - PullRequest
0 голосов
/ 22 февраля 2019

Я работаю над гибридным приложением, которое в основном работает в WkWebView, но использует камеру и так далее.У нас также есть полностью родной экран, который также нуждается в связи с бэкэндом.Клиент желает выполнить эти запросы через WKWebView (они не хотят выполнять их изначально).Итак, у нас есть NavigationController -> WkWebViewController -> FunctionalityViewController.

FunctionalityViewController имеет ссылку на WkWebViewController через делегата для отправки запросов через JavaScript в бэкэнд.Связь с iOS работает беспрепятственно (FunctionalityViewController -> WkWebViewController), а также звонки через отладку с Safari, все звонки достигают WkWebView.

Затем WKWebView выдает запросы к бэкэнду, и они иногда выполняются, а иногда нет ... но когда FunctionalityViewController отклоняется, выдаются все неотвеченные запросы - как WkWebView ставит их в очередь ...

Кто-нибудьзнаете, как это исправить?(У меня есть два нежелательных решения, таких как создание FunctionalityViewController childViewController и т. Д., Но я бы хотел избежать этого, если это возможно).Любые предложения приветствуются.

1 Ответ

0 голосов
/ 23 февраля 2019

Я наконец выяснил, что не так.WKWebView должен быть в иерархии представления, чтобы работать должным образом.В GitHub есть некоторые сообщения об ошибках, описывающие ту же проблему.

Source (1): Сохранение WKWebView и его UIViewController в фоновом режиме и доступ к нему из нескольких ViewControllers Source (2): WKWebKit выполнение JavaScript, когда он не присоединен к иерархии представлений Источник (3): http://ileyf.cn.openradar.appspot.com/43038986

Для downvoters: это все, что вы можете сделать правильно?

...