NSMutableURLЗапрос не подчиняется моему тайм-аутуInterval - PullRequest
31 голосов
/ 29 апреля 2010

Я отправляю маленькое изображение, поэтому я хотел бы, чтобы интервал ожидания был коротким. Если изображение не отправляется в течение нескольких секунд, оно, вероятно, никогда не отправит. По какой-то неизвестной причине мой NSURLConnection никогда не выходит из строя, независимо от того, насколько коротким я установил timeoutInterval.

// Create the URL request
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] 
                                 initWithURL:[NSURL URLWithString:@"http://www.tumblr.com/api/write"]
                                 cachePolicy:NSURLRequestUseProtocolCachePolicy
                                 timeoutInterval:0.00000001];

/* Populate the request, this part works fine */

[NSURLConnection connectionWithRequest:request delegate:self];

У меня установлена ​​точка останова на - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error, но она никогда не срабатывает. Мои изображения продолжают публиковаться просто отлично, они отображаются на Tumblr, несмотря на крошечный timeoutInterval.

Ответы [ 3 ]

5 голосов
/ 21 сентября 2012

Как уже упоминал Франсуа, 240 секунд работали, как он описал, вплоть до iOS 6 (в том числе на 5.1). Теперь этот тайм-аут, по-видимому, принимает значение по умолчанию, равное 60 секундам, как и ожидалось (если вы не установили его явно), поэтому, если у вас есть запрос POST, который мог случайно зависеть от более длительного времени, вам, возможно, придется изменить timeoutInterval вручную, чтобы использовать более высокое значение. Мне удалось установить время ожидания как ниже, так и выше 60 секунд для POST, поэтому не похоже, что 60-секундная метка представляет собой минимальное ограничение времени ожидания для этого типа запроса.

0 голосов
/ 15 мая 2012

Эта проблема исправлена ​​в iOS5, поэтому вы не столкнетесь с этой проблемой сейчас. И ваш код будет отлично работать

...