169 похожих чатов

Всем привет! Кто работал c куками в WKWebView на ios?

Были проблемы?

private async Task CustomFormsWebViewOnAddCookiesRequested(Cookie cookie)
{
var webconf = Control.Configuration;

var webconf = new WKWebViewConfiguration()
{
UserContentController = new WKUserContentController(),
WebsiteDataStore = WKWebsiteDataStore.DefaultDataStore,
Preferences = new WKPreferences
{
JavaScriptEnabled = true
}
};

var array = await webconf.WebsiteDataStore.FetchDataRecordsOfTypesAsync(WKWebsiteDataStore.AllWebsiteDataTypes);

for (System.nuint i = 0; i < array.Count; i++)
{
var item = array.GetItem<WKWebsiteDataRecord>(i);
await webconf.WebsiteDataStore.RemoveDataOfTypesAsync(item.DataTypes, new[] { item });
}

var newCookie = new NSHttpCookie(cookie.Name, cookie.Value, cookie.Path, cookie.Domain);
await webconf.WebsiteDataStore.HttpCookieStore.SetCookieAsync(newCookie);
}

Ни в какую сетиться не хотят. Метод перехода на страницу срабатывает строго после этого кода. В HttpCookieStore куки есть, но WKWebView не подхватываются. Правильность установленных значений гарантированна

2 ответов

6 просмотров

Привет. Тут как-то странно два раза объявляется переменная webconf. Убедитесь, что после создания конфигурации вы её устанавливаете в контрол (возможно это обязательно делать именно при создании контрола, в его конструктор). Еще у меня кажется были траблы с тем, что куки нужно было устанавливать в главном потоке. В любом случае такая реализация у меня точно работала как часы: https://gist.github.com/SIDOVSKY/7574db1a3f169e60beff75ecefd0d471

Nikita-Krasnoff Автор вопроса
Vadim Sedov
Привет. Тут как-то странно два раза объявляется пе...

Спасибо, да, во всем убедился, и оказалось что проблема при создании самого NSHttpCookie, оказывается перед именем домена надо ставить точку типа “.google.com” и убрать все лишнее после доменной зоны. И тогда все работает. Может кому поможет PS:Код в целом рабочий, вебконфиг закомменчен там один, верно.

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
7
Карта сайта