A container that manages the storage of cookies.
- iOS 2.0+
- macOS 10.2+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
Each stored cookie is represented by an instance of the
Sharing Cookie Storage
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
Cookie Storage For Group Container Identifier:
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.
UIWebinstances within an app inherit the parent app's shared cookie storage.
Session cookies (where the cookie object’s
session property is
YES) are local to a single process and are not shared.
NSHTTPCookie class is usable as-is, but you can subclass it. For example, you can override the storage methods like
get 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: