Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NSURLConnection initWithRequest is deprecated

I am adopting the Gmail API in iOS and I am getting the warning:

initWithRequest is deprecated

in the following line:

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

The line is in the source file GTMHTTPFetcher.m of the API library.

What is the substitute for the deprecated -initWithRequest: method?

like image 684
Aditya Borde Avatar asked Sep 18 '15 08:09

Aditya Borde


2 Answers

NSURLConnection is deprecated in iOS 9. You can use NSURLSession instead which exists since iOS 7.

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
        {
            // do something with the data 
        }];
[dataTask resume];
like image 108
Raphael Avatar answered Oct 12 '22 02:10

Raphael


If you don't care about the completionHandler : here's an one liner.

[[[NSURLSession sharedSession] dataTaskWithRequest:request] resume];
like image 24
Randel S Avatar answered Oct 12 '22 02:10

Randel S