iphone - 测试 NSURLConnection 失败

标签 iphone nsurlconnection

如何测试 NSURLConnection 的失败?

另外,如何判断是否由于飞行模式或 WiFi 关闭而失败?在我的测试中,虽然弹出警报告诉用户他们需要打开 WiFi,但如果他们忽略它,我的应用程序就会坐在那里并旋转等待响应。

最佳答案

如果您的连接委托(delegate)是 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];
    }
}

关于iphone - 测试 NSURLConnection 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2054117/

相关文章:

iphone - 如何在应用程序关闭时通过在 iPhone 中发送推送通知来执行某些操作

ios - 在 iOS 中从 Kinvey 下载文件

iphone - 预期表达式出现错误?

iphone - 当我在后台运行 NSURLConnection 错误时......我该如何修复?

iphone - 我无法使用 GDataXML 解析 xml 数据

iphone - 如何在 xCode 中使用 jpeglib

iOS:推送通知已停止工作

php - 如何使用 Xcode 执行第一个简单的 PHP api 示例

ios - iPhone开发在dispatch_async中调用NSURLConnection并在mainRunLoop中读取didReceiveResponse

ios - NSURLConnection、NSURLAuthenticationChallenge 失败响应