NSHTTPCookieStorage and Cookie Expiration Date

madik picture madik · Aug 26, 2011 · Viewed 8.3k times · Source

In our iPhone app we use two cookies during server communication. One is a short session cookie (JSESSION), and the other is a long session cookie (REMEMBER ME). If an answer comes from the server, it sends a short session cookie, which I can find in the NSHTTPCookieStorage.

My question is how this storage handles the cookie's expiration date? So if the cookie expires, does it delete that cookie automatically, and if I try to get this cookie by its name from the storage after expiration, do I get anything? Or do I have to check the expiration manually?

Answer

prakash picture prakash · Aug 26, 2011

My question is how this storage handles the cookie's expiration date?

NSHTTPCookieStorage stores the NSHTTPCookie objects that has expiration date as one of its property.

http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookie_Class/Reference/Reference.html#//apple_ref/occ/cl/NSHTTPCookie

So if the cookie expires, does it delete that cookie automatically, and if I try to get this cookie by it's name from the storage after expiration, do I get anything? Or do I have to check the expiration manually?

You should check manually for expiration and delete the cookie yourself

As it is referred in http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookie_Class/Reference/Reference.html#//apple_ref/occ/cl/NSHTTPCookie

The receiver’s expiration date, or nil if there is no specific expiration date such as in the case of “session-only” cookies. The expiration date is the date when the cookie should be deleted.