2011-02-18 39 views
3

调用无论connectionDidFinishLoading:也不didFailWithError:被调用

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

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

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

DidFailWithError: Fetch failed: The Internet connection appears to be offline.

几秒钟后的下一次呼叫(因为Internet重新连接)。

DidFailWithError: Fetch failed: A server with the specified hostname could not be found.

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

+0

你能改说一下吗?我不确定这个问题。 – 2011-02-18 22:09:05

回答

1

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

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

当你从你的mac断开WiFi /互联网电缆试图模拟网络连接消失,这将不会在iPhone模拟器中得到模拟! (事实上​​,如果你注意到模拟器上的wifi连接图标不会消失)

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

请注意,我使用的Xcode 4.0和的iOS 4.3

发展所以答案是:尽量部署一个真正的iOS设备上的应用程序,它可能会工作!

相关问题