致电
connectionInProgress = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
当我断开连接并将互联网重新连接到模拟器时。对initWithRequest:的一次调用既不会导致connectionDidFinishLoading:
也不会导致didFailWithError:
被调用。
我调用循环并获得以下结果(断开连接时)。
DidFailWithError:获取失败: 互联网连接似乎是 脱机。
几秒后接下来的电话(当互联网重新连接时)。
DidFailWithError:获取失败:A 具有指定主机名的服务器 无法找到。
下次我调用两个回调时都没有被调用。
答案 0 :(得分:1)
我刚刚遇到了与iPhone模拟器相同的问题。
经过6个小时的调试,谷歌搜索和搜索stackoverflow我找到了解决方案: iPhone模拟器有一个错误! (或者至少这是我的测试证明的结果)。
当你从mac断开wifi /网线连接试图模拟网络连接消失时,这将无法在iPhone模拟器中模拟! (事实上,如果您注意到模拟器上的wifi连接图标不会消失)
我试图在我的iPhone 4上部署我的应用程序(也创建一个NSURLConnection),如果我把它放在飞行模式,那么调用didFailWithError! 相反,这不会发生在模拟器上!
请注意,我正在使用Xcode 4.0并开发适用于iOS 4.3
答案是:尝试在真实的iOS设备上部署您的应用,它可能会有效!