NSURLConnection SendAsynchronousRequest在没有Wi-Fi的情况下无法正常工作

时间:2014-08-22 09:57:11

标签: ios objective-c nsurlconnection sendasynchronousrequest

在3G中似乎没有发送请求。调用代码并返回回调,返回-1001错误,并返回以下消息:“(请求超时。)”

协议是HTTP,而不是HTTP。

代码在Wi-Fi中运行良好。

当应用程序处于3G状态时,服务器上的Wireshark不显示任何传入数据(但是在Wi-Fi中接收数据)。

在仪器中进行网络检查后:显示请求但没有数据/数据包输出。

以下代码:

self.request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:self.route]];
[self.request setHTTPMethod:self.httpMethod];
self.request.timeoutInterval = XX.f;
[NSURLConnection sendAsynchronousRequest:self.request
                                   queue:queue
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
                                              // Stuff actually getting called but with -1001 error code (only when NOT in Wi-Fi)
                                         }

2 个答案:

答案 0 :(得分:0)

从XCode安装时,似乎OSX 10.10 Beta可能会损坏应用程序的网络权限。

可以通过完全卸载应用程序并重新启动手机(同时按住主屏幕和电源按钮)来解决此问题。

答案 1 :(得分:-1)

您获得的错误代码(-1001)会解析为NSURLErrorTimedOut,这意味着您的请求超时。我建议你检查你的防火墙(在服务器端)。您的服务器是否可以通过手机访问?是否可以通过手机访问端口80?请注意,当您使用WiFi时,手机的IP地址与使用3G时使用的IP地址不同。