WKWebsiteDataStore.default().httpCookieStore.getAllCookies returns a different list of cookies from HTTPCookieStorage.shared.cookies. What is the difference between these two methods?
Asked
Active
Viewed 783 times
2 Answers
2
HTTPCookieStorage.shared will be used with URLSession.shared network requests.
WKWebsiteDataStore.default() is used for WKWebView only. And the getAllCookies is asynchronous
Both are persistent.
Quang Vĩnh Hà
- 494
- 3
- 8
0
The accepted answer is not entirely correct. Persistent cookies are shared between HTTPCookieStorage.shared and WKWebsiteDataStore.default(), though the sharing is not always immediate. Session cookies are not shared. This behavior doesn't seem to be documented by Apple anywhere, but is clearly evident if you run some tests. See this long thread for some related discussion:
jlew
- 10,491
- 1
- 35
- 58