In my application, I have a UIWebview
that loads linkedin auth page for login. When user logs in, cookies saves into the application.
My app has a logout button that is not related to linkedin login. So when user clicks on this button, he logs off from the app. I want that this log off will clear his linkedin cookies also from the app, so that user will log out completely.
According to this question, you can go through each cookie in the "Cookie Jar" and delete them, like so:
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie *cookie in [storage cookies]) { [storage deleteCookie:cookie]; } [[NSUserDefaults standardUserDefaults] synchronize];
Just wanted to add some info regarding this.
In OS X 10.9/iOS 7 and later, you can use -resetWithCompletionHandler: to clear the cookies and cache etc. of the whole app from your sharedSession
:
Empties all cookies, caches and credential stores, removes disk files, flushes in-progress downloads to disk, and ensures that future requests occur on a new socket.
[[NSURLSession sharedSession] resetWithCompletionHandler:^{ // Do something once it's done. }];
The for-In loop with deleteCookie:
sounds like modifying while enumerating a collection to me. (Don't know, could be a bad idea?)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With