NSURLSession+SynchronousTask
is an NSURLSession
category which brings NSURLConnection
-like (remember sendSynchronousRequest:returningResponse:error:
?) synchronous tasks to NSURLSession
.
Internally the category uses GCD to wait for the tasks to finish.
CocoaPods is the recommended method of installing NSURLSession-SynchronousTask
. Simply add the following line to your Podfile
:
pod 'NSURLSession-SynchronousTask'
NSURL *url = ...
NSError *error = nil;
NSURLResponse *response = nil;
NSData *data = [[NSURLSession sharedSession] sendSynchronousDataTaskWithURL:url returningResponse:&response error:&error];
...
NSURL *url = ...
NSError *error = nil;
NSURLResponse *response = nil;
NSURL *fileURL = [[NSURLSession sharedSession] sendSynchronousDownloadTaskWithURL:url returningResponse:&response error:&error];
...
NSURLRequest *uploadRequest = ...
NSData *dataToBeUploaded = ...
NSError *error = nil;
NSURLResponse *response = nil;
NSData *data = [[NSURLSession sharedSession] sendSynchronousUploadTaskWithRequest:uploadRequest fromData:dataToBeUploaded returningResponse:&response error:&error];
...
Florian Schliep
NSURLSession+SynchronousTask is available under the MIT license. See the LICENSE.txt file for more info.