Trying to replace deprecated sendSynchronousRequest calls in several command line tools I have written. The completionHandler is not getting called. Based on somewhat similar questions, I have tried using a semaphore, but still no joy. (Most questions posted concern apps, not command line tools.) Appreciate any help. Here's my code snippet:
void ebayApiCall(NSMutableURLRequest * request, NSError *error) {
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSURLSessionDataTask * dataTask = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:
^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"\nCompletionHandler\n");
responseFromEbay = data; //responseFromEbay is global
dispatch_semaphore_signal(sema);
}];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
[dataTask resume];
}