2011-02-18 63 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設備上的應用程序,它可能會工作!

相關問題