2011-11-16 11 views
7

मेरा ऐप किसी सर्वर से कनेक्ट होता है और कुकी पर आधारित सर्वर एक अलग प्रतिक्रिया जारी करेगा।किसी दिए गए आईओएस ऐप के लिए कुकीज़ साफ़ करें

क्या कुकी स्टोर को प्रोग्रामेटिक रूप से साफ़ करना संभव नहीं है, ताकि जब सर्वर अगली बार सर्वर से संपर्क करे तो सर्वर मेरी ऐप को पहचान नहीं पाएगा।

मैंने इकट्ठा किया कि सेटिंग्स में कुकीज़ को साफ़ करना .app केवल सफारी के भीतर कुकीज़ के लिए लागू होता है।

आपकी टिप्पणी के लिए बहुत बहुत धन्यवाद।

+1

आप के बारे में पता कर रहे हैं [ '[NSHTTPCookieStorage sharedHTTPCookieStorage]'] (http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookieStorage_Class/Reference/Reference.html), हाँ? –

+0

अब मैं हूं। इस पर ध्यान दिलाने के लिए धन्यवाद। – Besi

उत्तर

16

ठीक है ... मेरी पहले टिप्पणी पर निम्नलिखित (और उम्मीद इस समाधान के लिए आप देख रहे हैं), तो आप शायद का उपयोग करना चाहते हैं:

[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:]

कुकीज़ से प्रत्येक के लिए

आपकी साइट के लिए ।

+0

कृपया ध्यान दें कि किसी कारण से आप सभी कुकीज़ को हटाने के लिए इसे शून्य से कॉल नहीं कर सकते .. – Niralp

+0

@ माइकल क्या मैं आईओएस एप्लिकेशन के माध्यम से सफारी में कुकीज़ साफ़ कर सकता हूं? –

+0

@ गणेश कुमार [दुर्भाग्य से नहीं] (http://stackoverflow.com/questions/9632294/is-it-possible-to-change-ios-safari-settings- प्रोग्रामेटिक रूप से) ... ऐप्पल चाहता है कि उपयोगकर्ता निर्णय लें कि कुकीज़ और ब्राउज़र कब इतिहास साफ़ कर दिया गया है। –

2

आप चाहते हैं 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 का आपका उदाहरण है।

संबंधित मुद्दे