Я пытаюсь явно/программно установить значение файла cookie пула процессов WKWebView для каждого домена. Я хочу точно эмулировать, что происходит, когда сервер возвращает заголовок Set-Cookie
. Исследование, которое я провел здесь и в других местах, говорит о том, что нужно внедрить это как JavaScript. Мне это не нравится в принципе — это кажется неправильным. Я хочу поговорить с «ответственным парнем» (внутренняя структура данных cookie WebKit), а не внедрять взлом в последнюю секунду через второй язык (JavaScript).
Я также получаю ошеломляющий 1% отказов этого метода, вероятно, из-за 1) очень асинхронного характера WKWebView
взаимодействия, поскольку все сетевые и JavaScript-вычисления происходят в отдельном процессе и 2) Тот факт, что я повторно использую один и тот же WKWebView
несколько раз, когда истекает сеанс входа в систему, и сбрасываю сценарий document.cookie
непосредственно перед принудительной перезагрузкой страницы.
Я удивлен, что нет ничего похожего на WKWebSiteDataStore.addCookie(value: String, inDomain: NSURL)
; тот факт, что у него есть removeDataOfTypes(...)
без add
или inject
, кричит мне о "зияющей дыре в дизайне".
Использованная литература:
ios9 - WKProcessPool() с несколькими общими файлами WkWebView не работает? а>
Могу ли я настроить файлы cookie для использования WKWebView?