я решаю это, но я считаю, что это плохая практика, и правильным способом была возможность отправлять токен в заголовке запроса
основная проблема заключалась в том, что вы не можете запустить скрипт javascript, который добавляет элемент localStorage перед загрузкой веб-представления, поэтому мне пришлось подождать, пока загрузится эта страница, затем запустить скрипт javascript, который добавляет необходимый токен, и перезагрузить эту страницу. Вот мой код, но опять же, это плохая практика, я думаю, и я считаю, что команда переднего конца должна позволить мне завершить этот токен в заголовке запроса
Во-первых, это был способ перезагрузить веб-представление только один раз
var loaded = false
func load() {
if !loaded {
webView.reload()
}
loaded = true
}
тогда мне пришлось подтвердить делегату WKNavigationDelegate перезагрузить эту страницу, когда она будет загружена, и вот мой код
extension ViewController: WKNavigationDelegate {
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript(javascript) { (_, err) in
self.load()
}
}
}