Если я вызываю NSURLSession, когда приложение находится в фоновом режиме с push-уведомлением, ответ может быть получен только один раз в три.
NSLog(@"SEND: LAUNCH FUNCTION!!!!");
NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:[NSURL URLWithString:url_string]
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error) {
// handle response
if (error == nil) {
NSLog(@"SEND: RESPONSE FUNCTION GOOD!!!!");
NSMutableArray* responseArray = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
dispatch_async(dispatch_get_main_queue(), ^{
[self parseAndAddLovAll:responseArray toArray:self.objects];
});
}
else
{
NSLog(@"SEND: RESPONSE FUNCTION BAD!!!!");
}
}] resume];
(Если я вызываю NSURLSession, когда приложениеактивен, никаких проблем, он работает каждый раз).
РЕДАКТИРОВАТЬ:
Мы можем видеть в этом видео, что когда я нажимаю 1ST время, он запускает NSURLSession,без ответа.Если щелкнуть время 2ND , появится ответ 1ST , за которым следует ответ 2ND .
*SEND: LAUNCH FUNCTION!!!!* =>** launch the NSURLSession.
*SEND: RESPONSE FUNCTION GOOD!!!!*** => Response ok from the NSURLSession.
*SEND: RESPONSE FUNCTION BAD!!!!*** => Response not ok from the NSURLSession.
*SEND: FINISHED!!!!*** => Download execution finished with success.
Я вставил демо в видео:
Видео
РЕДАКТИРОВАТЬ:
Call of the function:
dispatch_queue_t downloadQueue = dispatch_queue_create("downloader", NULL);
dispatch_async(downloadQueue, ^{
ListOfValueSync * lovSync = [[ListOfValueSync alloc] init];
// Synchronization
BOOL ret = [lovSync getAllListOfValueAll];
});
Что может вызвать эту проблему?