Contents

HTTPCookieStorage

A container that manages the storage of cookies.

Declaration

class HTTPCookieStorage

Overview

Each stored cookie is represented by an instance of the HTTPCookie class.

The persistent cookie storage returned by shared may be available to app extensions or other apps, subject to the following guidelines:

  • iOS — Each app and app extension has a unique data container, meaning they have separate cookie stores. You can obtain a common cookie storage by using the sharedCookieStorage(forGroupContainerIdentifier:) method.

  • macOS (non-sandboxed) — As of macOS 10.11, each app has its own cookie storage. Prior to macOS 10.11, a common cookie store is shared among the user’s apps.

  • macOS (sandboxed) — Same as iOS.

  • UIWebViewUIWebView instances within an app inherit the parent app’s shared cookie storage.

  • WKWebView — Each WKWebView instance has its own cookie storage. See the WKHTTPCookieStore class for more information.

Session cookies (where the cookie object’s isSessionOnly property is true) are local to a single process and are not shared.

Subclassing notes

The HTTPCookieStorage class is usable as-is, but you can subclass it. For example, you can override the storage methods like storeCookies(_:for:), getCookiesFor(_:completionHandler:) to screen which cookies are stored, or reimplement the storage mechanism for security or other reasons.

When overriding methods of this class, be aware that methods that take a task parameter are preferred by the system to equivalent methods that do not. Therefore, you should override the task-based methods when subclassing, as follows:

Topics

Getting the shared cookie storage object

Getting and setting the cookie accept policy

Adding and removing cookies

Retrieving cookies

Tracking cookie storage changes

Structures

See Also

Cookies