Время ожидания NSURLConnection?
Я использую это NSURLConnection с делегатами.
nsconnection = [[NSURLConnection alloc] initWithRequest:request
delegate:self startImmediately:YES];
Проблема заключается в том, что веб-сайт не отвечает вообще. Ничего, просто вращается в браузере с пустой страницей, без сбоев. В моих делегатах я обрабатываю сбой, но когда сайт не отвечает, делегаты не вызываются. Любые идеи о том, как отключить соединение?
Ответы
Ответ 1
Вы можете указать тайм-аут в своем NSURLRequest
объекте. Один из способов сделать это - построить его с помощью метода requestWithURL:cachePolicy:timeoutInterval:
. (Вы можете передать параметр NSURLRequestUseProtocolCachePolicy
cachePolicy по умолчанию, если вы не хотите беспокоиться об этой части.) Тайм-аут - это значение с плавающей запятой в секундах, в основном это все временные интервалы в iPhone SDK.
Также убедитесь, что ваш делегат NSURLConnection
установлен и отвечает на connection:didFailWithError:
. Соединение всегда вызывает этот метод или connectionDidFinishLoading:
после завершения соединения.
Ответ 2
Изменить: Этот ответ устарел, но на дату ответа был точным.
Я знаю, что эта ветка устарела, но я столкнулся с этой проблемой. Это произошло при тестировании приложения за пределами внутренней сети, где работали службы. Служба в конечном итоге отключится, но Apple назначит период в 240 секунд (4 минуты) до истечения тайм-аута. Посмотрите эту тему для получения дополнительной информации по этому вопросу.
NSMutableURLRequest не подчиняется моему timeoutInterval