Oui, vous pouvez le faire. D'abord, dans applicationDidBecomeActive, ajoutez cette ligne
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
Le cookieAcceptPolicy est partagé entre les applications et peut être modifié à votre insu. Vous devez donc être sûr de disposer de la politique d'acceptation dont vous avez besoin chaque fois que votre application est en cours d'exécution.
Ensuite, pour mettre le cookie :
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"testCookie" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"someValue123456" forKey:NSHTTPCookieValue];
[cookieProperties setObject:@"www.example.com" forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"www.example.com" forKey:NSHTTPCookieOriginURL];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
// set expiration to one month from now or any NSDate of your choosing
// this makes the cookie sessionless and it will persist across web sessions and app launches
/// if you want the cookie to be destroyed when your app exits, don't set this
[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
Ce cookie a pour nom testCookie et pour valeur someValue123456 et sera envoyé avec toute demande http à www.example.com.
Pour une mise en garde importante concernant la configuration des cookies, veuillez consulter ma question ici !
L'état du NSHTTPCookieStorage n'est pas sauvegardé à la sortie de l'application. Existe-t-il une documentation ou des connaissances définitives à ce sujet ?