के साथ एक GET अनुरोध को अनचाहे कैशिंग करना मेरे पास एक स्थिति है, मैं अपने बैकएंड से एक विशिष्ट संसाधन (अनुरोध प्राप्त करें) पुनर्प्राप्त करने के लिए AFNetworking के साथ बाकी API का उपयोग करता हूं। जब मैं ब्राउज़र के साथ बैकएंड की जांच करता हूं तो परिणाम 165 होता है लेकिन एक विशिष्ट डिवाइस (एक विशिष्ट आईफोन 6 प्लस) में परिणाम 5 होता है, किसी भी अन्य डिवाइस में मैं 165 सही उत्तर प्राप्त करता हूं। मुझे लगता है कि इस डिवाइस पर कुछ कैश किया गया है लेकिन इस विशिष्ट डिवाइस पर कुछ भी नहीं मिला है।AFNetworking
मैं आवेदन नष्ट कर दिया और इसे फिर से स्थापित किया है और यह गलत फिर से काम करता है, इसलिए NSURLCache
समस्या या तो
कोड है कि मैं बैकएंड से डेटा पुनः प्राप्त करने के लिए उपयोग नहीं है, यह ठीक से अन्य उपकरण भी काम करता है, ऐसा नहीं ' उस विशिष्ट डिवाइस पर काम नहीं करते हैं। (जिस तरह से मैं सभी उपकरणों और ब्राउज़रों को जांचने के लिए एक ही उपयोगकर्ता नाम और पासवर्ड का उपयोग करता हूं) इसलिए यह मामला नहीं है।
AFHTTPRequestOperationManager* manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:[[NSUserDefaults standardUserDefaults] valueForKey:TOKEN_ID_KEY] forHTTPHeaderField:TOKEN_HTTP_HEADER_NAME];
[manager GET:[NSString stringWithFormat:@"%@%@", BASE_URL, PROFILE_URL] parameters:nil success:^(AFHTTPRequestOperation* operation, id responseObject) {
NSLog(@"profile info request accepted with response : %@",responseObject);
profile = [[Profile alloc] initWithDictionary:responseObject];
[self.tableView reloadData];
} failure:^(AFHTTPRequestOperation* operation, NSError* error) {
NSLog(@"profile info request failed with eroor : %@" , [error localizedDescription]) ;
}];
मदद करता है क्या आप कोड का टुकड़ा पोस्ट कर सकते हैं जहां आप अनुरोध भेजते हैं और प्रतिक्रिया को संभालते हैं? –
अनुरोध को कैश करने के बारे में नहीं - 'AFNetworking' साझा' NSURLCache' का उपयोग कर रहा है, आप अपने ऐप के लिए कैशिंग रद्द करने के लिए इस उत्तर का पालन कर सकते हैं: http://stackoverflow.com/a/17063060/2242359 –
@AvielGross मैंने कोड जोड़ा, मुझे नहीं लगता कि यह मेरे कोड में कुछ गलत है, क्योंकि यह किसी अन्य डिवाइस और ब्राउज़र पर काम कर रहा है, यह केवल इस विशिष्ट डिवाइस पर काम नहीं करता है –