Я думаю, что по умолчанию теперь кажется, что WKWebView устанавливается на проекты ionic или cordova, по крайней мере, в моем случае (в виде плагина в папке плагинов). Поэтому я удалил плагин и добавил эту строку в мой config.xml:
<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
Затем я установил это глобально для моего HTTP-провайдера:
$httpProvider.defaults.withCredentials = true;
или это можно сделать для каждого HTTP-запроса:
$http.post(url, {withCredentials: true, ...})
Затем я установил это в моих .php / server файлах:
header("Access-Control-Allow-Origin: http://localhost:8100"); // make sure this is the same on the client side
header("Access-Control-Allow-Headers: content-type,authorization");
header("Access-Control-Allow-Credentials: true");
Упомянутые выше исправления позволяют мне сохранять одинаковые файлы cookie / сеанс на каждой странице / запросах в моем приложении.
Надеюсь, это поможет.
Edit:
Из того, что я мог найти, когда у меня возникла эта проблема, не было способа сохранить файлы cookie / сеанс с помощью WKWebView, так как Apple не добавила исправление (я могу быть совершенно не прав, это именно то, что я обнаружил в тот момент. Я думаю, что вам либо пришлось вернуться к UIWebView, либо использовать совершенно другой метод.