web-dev-qa-db-fra.com

NSURLConnection initWithRequest est déconseillé

J'adopte le API Gmail dans iOS et je reçois l'avertissement:

initWithRequest est obsolète

dans la ligne suivante:

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

La ligne se trouve dans le fichier source GTMHTTPFetcher.m de la bibliothèque d'API.

Quel est le substitut de la méthode -initWithRequest: Déconseillée?

14
Aditya Borde

Il semble que l'ensemble de l'API NSURLConnection a été déconseillé dans iOS 9. Les applications existantes continueront de fonctionner, mais les nouvelles versions (liées au SDK iOS) doivent utiliser la nouvelle API NSURLSession.

Ray Wenderlich a un bon tutoriel ici . Bien sûr, vérifiez aussi la documentation officielle .

3
Nicolas Miari

NSURLConnection est déconseillé dans iOS 9. Vous pouvez utiliser NSURLSession à la place, qui existe depuis 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];
35
Raphael

Si vous ne vous souciez pas de l'achèvementHandler: voici un n liner.

[[[NSURLSession sharedSession] dataTaskWithRequest:request] resume];
7
Randel S

Utilisez STHTTPRequest qui utilise NSURLConnection/NSURLSession .

Pour NSURLSession utilisez STHTTPRequest2 .

STHTTPRequest est la meilleure bibliothèque car elle ne possède que 2 fichiers et est facile à utiliser.

0
Paresh Navadiya