Прерывание передачи данных по ячейке CDMA на iPhone. Код ошибки NS?

У меня есть сценарий, в котором выполняется NSURLConnection.

Как мы все знаем, телефоны CDMA (например, Verizon, Sprint) не могут одновременно обрабатывать данные и телефонные звонки. Кто-нибудь знает, что, если таковой имеется, возвращается NSError при прерывании соединения телефонным звонком?

Есть ли обработка ошибок? Вызывается didFailWithError или он автоматически переходит в фоновый режим?

Заранее спасибо.


person SushiGrass Jacob    schedule 17.05.2012    source источник


Ответы (2)


Это хороший вопрос. Пока я не знаю ответа конкретно на этот случай, но если реализовать эту функцию NSURLConnection:

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

И запустите свой код на отладке устройства с помощью xcode, вы должны убедиться сами.

редактировать:

Добавляя к другому ответу, я нашел список всех ошибок URL, поэтому, надеюсь, вы сможете сузить, какую из них вы ищете. ошибки

Редактирование перед отправкой: Я нашел! Ошибка: NSURLErrorCallIsActive

Возвращается при попытке подключения во время активного телефонного звонка в сети, которая не поддерживает одновременную передачу телефона и данных (EDGE или GPRS).

person Dima    schedule 17.05.2012
comment
Я бы хотел, но ни у меня, ни у кого-либо из моей команды нет телефона AT&T / Sprint для тестирования. Итак, коллективный разум. - person SushiGrass Jacob; 18.05.2012
comment
Я предполагаю, что вы имели в виду Verizon / Sprint, также см. Мое редактирование. Удачи! - person Dima; 18.05.2012
comment
Я проверю это и дам вам знать! - person SushiGrass Jacob; 18.05.2012
comment
Хорошо… Полученная ошибка по-прежнему имеет код 0, но основная ошибка имеет код -1019, который является NSURLErrorCallIsActive! Спасибо! - person SushiGrass Jacob; 20.05.2012

// соединение: didFailWithError: ошибка

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
 //handle error here
    if([error code] == NSURLErrorCallIsActive)//error code for NSURLErrorCallIsActive = -1019
    {
        //if we can identify the error
    }else{
        //otherwise handle the error generally
    }
}
person Nikhil Dinesh    schedule 17.05.2012
comment
проверьте мое обновление ответа на правильную ошибку для этого конкретного сценария. - person Dima; 18.05.2012