我的應用程序連接到服務器並基於cookie,服務器將發出不同的響應。清除給定iOS應用程序的Cookie
是否無法以編程方式清除Cookie存儲,以便服務器在下次與服務器聯繫時不會識別我的應用程序。
我收集了清除Settings.app中的Cookie只適用於Safari中的cookie。
非常感謝您的評論。
我的應用程序連接到服務器並基於cookie,服務器將發出不同的響應。清除給定iOS應用程序的Cookie
是否無法以編程方式清除Cookie存儲,以便服務器在下次與服務器聯繫時不會識別我的應用程序。
我收集了清除Settings.app中的Cookie只適用於Safari中的cookie。
非常感謝您的評論。
好了...在我先前的評論跟進(並希望這是你正在尋找的解決方案),你可能想利用:
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:]
每個餅乾爲您的網站。
請注意,由於某些原因,你不能用它來調用它來刪除所有的cookie。 – Niralp
@Michael我可以通過iOS應用程序清除safari中的cookie嗎? –
@GaneshKumar [可惜不是](http://stackoverflow.com/questions/9632294/is-it-possible-to-change-ios-safari-settings-programmatically)...蘋果希望用戶決定什麼時候cookie和瀏覽器歷史被清除。 –
如果你想你的NSHTTPCookieStorage變化得以保留,你還需要關閉來電
[[NSUserDefaults standardUserDefaults] synchronize];
爲了防止這種情況減慢你的應用程序,你可能還需要調用此上後臺線程像這樣:
dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);
dispatch_async(backgroundQueue, ^{
//TODO: Cookie deletion logic here
});
編輯:
如果你只需要完全無視餅乾對於一個給定的NSURLRequest,你可以這樣做:
[request setHTTPShouldHandleCookies:NO];
其中請求是您的NSURLRequest的實例。
您瞭解['[NSHTTPCookieStorage sharedHTTPCookieStorage]'](http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookieStorage_Class/Reference/Reference.html),是? –
現在我。感謝您指出了這一點。 – Besi