Тест NSURLConnection Ошибка - PullRequest
       8

Тест NSURLConnection Ошибка

2 голосов
/ 13 января 2010

Как вы можете проверить сбой NSURLConnection?

Кроме того, как определить, произошел ли сбой из-за режима полета или отключения WiFi? В моих тестах, когда всплывало предупреждение, сообщающее пользователю, что ему нужно включить WiFi, если они его игнорируют, мое приложение просто сидит и вращается в ожидании ответа.

1 Ответ

4 голосов
/ 13 января 2010

Если делегатом вашего соединения является self, вы можете сделать что-то вроде этого:

self.myConnection = [[[NSURLConnection alloc] initWithRequest:urlRequest delegate:self] autorelease];

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
   if ([error code] == kCFURLErrorNotConnectedToInternet)
    {
        // if we can identify the error, we can present a more precise message to the user.
        NSDictionary *userInfoDict = [NSDictionary dictionaryWithObject:@"No Connection Error"
                                                             forKey:NSLocalizedDescriptionKey];
        NSError *noConnectionError = [NSError errorWithDomain:NSCocoaErrorDomain
                                                         code:kCFURLErrorNotConnectedToInternet
                                                     userInfo:userInfoDict];
        [self handleError:noConnectionError];
    }
    else
    {
        // otherwise handle the error generically
        [self handleError:error];
    }
}
...