Я хочу попробовать почтовый вызов на моем сервере до его успеха, я бы хотел попробовать каждые 30 секунд.iOS NSURLSession, как повторить попытку в didCompleteWithError
Так я использую NSURLSession моего звонка:
NSURLSessionDownloadTask *task = [self.session downloadTaskWithRequest:request];
task.taskDescription = [NSString stringWithFormat:@"Downloading file %@", [path lastPathComponent]];
[task resume];
Тогда, если ошибка не произойдет (нет сети, например) у меня есть ошибка в:
-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
Мой вопрос, как это сделать тот же вызов через 30 секунд будет ли мое приложение в фоновом режиме?
Я попытался с диспетчерской, NSThread и performSelector, но похоже, что это не работает в фоновом режиме :(
Благодаря
Как вы достигаете третьего подхода? Можете ли вы привести пример повторной загрузки задачи загрузки? – Ash
Красота третьего подхода заключается в том, что вам не нужно выполнять логику повтора. Система автоматически попытается выполнить запрос, когда сетевое подключение будет восстановлено. – Rob
Итак, если 'didCompleteWithError' вызывается с ошибкой, отличной от нуля, означает ли это (возможно), что были предприняты несколько попыток повтора до того, как они попали в точку с ошибкой? – Ash