I really have a problem when I want to stop all current requests in a sync engine built with AFNetworking.
I have 5 different URL to query. Each query is launch if the previous was correctly executed.
This works very well.
I want to stop the sync process at anytime. So my code to do that is:
- (void)cancelAllRequests
{
NSLog(@"CancelAllRequests");
[[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull"];
[[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull_items"];
[[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull_image"];
[[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"POST" path:@"ws/webapp/services/push_item"];
[[[HTTPClient sharedClient] operationQueue] cancelAllOperations];
}
But this code seems to do nothing. When I want to cancel, I saw all the batch operations working in my logs after the method is called.
What did I miss ? If I cancel the requests, this don't stop all active operations build with this requests ?