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