我正在iOS中采用 Gmail API ,我收到警告:
不推荐使用initWithRequest
在以下行中:
connection_ = [[connectionClass alloc] initWithRequest:request_ delegate:self startImmediately:NO];
该行位于API库的源文件GTMHTTPFetcher.m中。
弃用-initWithRequest:
方法的替代品是什么?
答案 0 :(得分:32)
NSURLConnection
。您可以使用自iOS 7以来存在的NSURLSession
。
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
// do something with the data
}];
[dataTask resume];
答案 1 :(得分:6)
如果你不关心completeHandler:这里有一个一个班轮。
[[[NSURLSession sharedSession] dataTaskWithRequest:request] resume];
答案 2 :(得分:3)
似乎整个NSURLConnection
API已在iOS 9中弃用。现有应用程序将继续有效,但新版本(与iOS SDK链接)必须使用较新的NSURLSession
API。
Ray Wenderlich有一本很好的教程here。 当然,还要检查official documentation。
答案 3 :(得分:0)
使用<{>> NSURLConnection / NSURLSession 的STHTTPRequest。
对于 NSURLSession ,请使用STHTTPRequest2。
STHTTPRequest 是最好的库,因为它只有2个文件且易于使用。