WKWebViews совместно используют хранилище cook ie - PullRequest
1 голос
/ 29 января 2020

iOS 11 пришли с некоторыми изменениями и добавили некоторые дополнительные функции в WKWebView, в основном каждый WKWebView теперь имеет свое собственное хранилище ie, и оно не доступно всему приложению и всем другим веб-представлениям, как в случай (UIWebView).

Вопреки замечанию Apple о том, что WKWebViews НЕ совместно используют хранилище cook ie, и множеству проблем SO, подтверждающих, что недавно я тестировал несколько WKWebView в отдельных ViewControllers и обнаружил что все мои веб-просмотры «делятся» куки-файлами.

  • Возьмите базовый c пример на https://developer.apple.com/documentation/webkit/wkwebview (ie: self.webView = WKWebView(frame: self.mainView.bounds, configuration: webConfiguration)) и создайте его в нескольких ViewControllers на раскадровке ,

  • В одной сцене установите повара ie на загружаемой веб-странице, скажем, на localhost

  • Затем откройте другую сцену, и вы увидите этот повар ie существует в том WKWebView

Я оценил self.webView.configuration.websiteDataStore.httpCookieStore.getAllCookies для каждого ViewController, и он сообщил об одинаковых куки. self.webView якобы новый инициатор WKWebView.

Вопрос в том, что это за «отдельная» функция хранения Cook ie, потому что она, похоже, совместно использует одно и то же хранилище.

XCode 11.3.1, на котором запущен iPhone 11 Simulator iOS 13,3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...