connectionDidFinishLoading:和didFailWithError:都没有被调用

时间:2011-02-18 22:06:46

标签: objective-c nsurlconnection

致电

connectionInProgress = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];

当我断开连接并将互联网重新连接到模拟器时。对initWithRequest:的一次调用既不会导致connectionDidFinishLoading:也不会导致didFailWithError:被调用。

我调用循环并获得以下结果(断开连接时)。

  

DidFailWithError:获取失败:   互联网连接似乎是   脱机。

几秒后接下来的电话(当互联网重新连接时)。

  

DidFailWithError:获取失败:A   具有指定主机名的服务器   无法找到。

下次我调用两个回调时都没有被调用。

1 个答案:

答案 0 :(得分:1)

我刚刚遇到了与iPhone模拟器相同的问题。

经过6个小时的调试,谷歌搜索和搜索stackoverflow我找到了解决方案: iPhone模拟器有一个错误! (或者至少这是我的测试证明的结果)。

当你从mac断开wifi /网线连接试图模拟网络连接消失时,这将无法在iPhone模拟器中模拟! (事实上​​,如果您注意到模拟器上的wifi连接图标不会消失)

我试图在我的iPhone 4上部署我的应用程序(也创建一个NSURLConnection),如果我把它放在飞行模式,那么调用didFailWithError! 相反,这不会发生在模拟器上!

请注意,我正在使用Xcode 4.0并开发适用于iOS 4.3

答案是:尝试在真实的iOS设备上部署您的应用,它可能会有效!