Веб-представление с данными POST не отправляет тело, поэтому я пропускаю обязательные параметры веб-представления. В последующих версиях работает нормально, но не работает с 9.1.
Вот как я настраиваю свое веб-представление:
lazy var webView:WKWebView = {
let view = WKWebView()
let url:URL = URL(string:<MyURL>)!
let body:String = String(format: "param1=%@¶m2=%@", arguments: [getParam1(), getParam2()])
var request = URLRequest(url:url)
request.httpMethod = "POST"
request.httpBody = body.data(using: .utf8)
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "content-type")
view.navigationDelegate = self
view.load(request)
view.backgroundColor = .white
view.scrollView.delegate = self;
return view
}()
Я подтвердил, что мои параметры существуют, когда я создаю body
. Я попадаю на страницу, но она отображает сообщение об ошибке об отсутствии обоих параметров.
Есть идеи, как заставить работать это с более старыми версиями?
Редактировать: Когда я добавляю точку останова в строке view.navigationDlegate...
и затем печатаю описание запроса, я замечаю, что запросы от более поздних и более ранних версий совпадают, за исключением некоторых ожидаемых байтов, которые меняются из-за токена сеанса на устройство. Диапазон - это точный диапазон, который я ожидаю отличить.