2015-09-18 11 views
8

मैं आईओएस में Gmail API अपनाने रहा हूँ और मैं चेतावनी हो रही है:NSURLConnection initWithRequest बहिष्कृत है

initWithRequest बहिष्कृत है

निम्न पंक्ति में

:

connection_ = [[connectionClass alloc] initWithRequest:request_ delegate:self startImmediately:NO]; 

लाइन एपीआई लाइब्रेरी के स्रोत फ़ाइल GTMHTTPFetcher.m में है।

बहिष्कृत -initWithRequest: विधि के लिए विकल्प क्या है?

+0

क्या त्रुटि प्रतिस्थापन का उल्लेख नहीं करती है? 'NSURLConnection' के लिए आधिकारिक दस्तावेज़ (वर्ग संदर्भ) क्या कहते हैं? –

+0

त्रुटि निम्नानुसार है: google-api-objective-client/source/HTTPFetcher/GTMHTTPFetcher.m: 459: 46: 'initWithRequest: प्रतिनिधि: प्रारंभ करें तत्काल:' बहिष्कृत किया गया है: पहले आईओएस 9.0 में बहिष्कृत - NSURL सत्र का उपयोग करें (NSURL सत्र देखें। एच) और आधिकारिक दस्तावेज़ों ने initWithRequest @NicolasMiari –

+0

के बजाय उपयोग करने के बारे में कुछ भी नहीं बताया है ... (थोड़ा) खराब समाचार, फिर। मेरा जवाब देखें –

उत्तर

4

ऐसा लगता है कि पूरे NSURLConnection एपीआई आईओएस 9. मौजूदा ऐप्स में पदावनत किया गया है काम करने के लिए जारी रहेगा, लेकिन नया बनाता है (आईओएस एसडीके के खिलाफ जुड़े) नए NSURLSession एपीआई का उपयोग करना होगा।

रे वेंडरलिच का एक अच्छा ट्यूटोरियल here है। इसके अलावा, official documentation देखें।

0

STHTTPRequest का उपयोग करें जो NSURLConnection/NSURLSession का उपयोग करता है।

लिए NSURLSession उपयोग STHTTPRequest2

STHTTPRequest सर्वश्रेष्ठ लाइब्रेरी है क्योंकि इसमें केवल 2 फाइलें हैं और उपयोग करने में आसान है।

25

NSURLConnection आप NSURLSession बजाय जो मौजूद है आईओएस 7.

के बाद से
NSURLSession *session = [NSURLSession sharedSession]; 
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request 
     completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) 
     { 
      // do something with the data 
     }]; 
[dataTask resume]; 
6

उपयोग कर सकते हैं आप completionHandler के बारे में परवाह नहीं है, तो आईओएस 9. में पदावनत किया गया है: यहाँ एक एक लाइनर है।

[[[NSURLSession sharedSession] dataTaskWithRequest:request] resume];