Как установить время ожидания NSMutableRequest менее чем через 240 секунд после установки тела?

Я создаю NSMutableRequest и добавляю данные в тело. Вот пример, как я это делаю:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:stringURL] 
                                                           cachePolicy:NSURLRequestReloadIgnoringLocalCacheData 
                                                       timeoutInterval:230.0];
    NSLog(@"Time out interval: %f", request.timeoutInterval); >> Output: 230

    [request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];

    NSLog(@"Time out interval: %f", request.timeoutInterval); >> Output: 240
    [request setTimeoutInterval:230];
    NSLog(@"Time out interval: %f", request.timeoutInterval); >> Output: 240

Время ожидания запроса после его создания составляет 230. После того, как я установил тело, это 240. И после того, как я сбросил его на 230. Это все еще 240. Значение времени ожидания не изменится, если я не установлю его больше?

У кого-нибудь есть идеи, почему это происходит? Как сделать интервал ожидания менее 240 секунд?

1 ответ

Решение

На iOS вы просто не можете указать тайм-аут менее 240 с таким образом (потому что iPhone может работать при медленном соединении). Для более подробной информации проверьте: https://devforums.apple.com/message/108292

Если вам действительно нужно более короткое время ожидания, вы можете использовать NSTimer. В этом случае просто не забудьте использовать асинхронный запрос, который можно легко отменить.

Другие вопросы по тегам