2010-07-28 85 views
0

我們試圖在沒有連接時顯示警報視圖,並且我們使用來自apple的可達性2.2類。我們遇到的問題是,在節目開始時,我們總是得到一個警覺視圖,即沒有互聯網連接,但我們連接到互聯網。有沒有正確的方法來檢查這些類的互聯網連接?使用可達性檢查互聯網連接2.2

+1

你看過Reachability示例代碼嗎? – jtbandes 2010-07-28 15:06:13

回答

0

我記得讀過Apple代碼示例中的Reachability代碼對於進行網絡檢查並不是很好。推薦的方法是檢查設備是否可以看到您的網站(或網頁),如果沒有發生錯誤。

我搜索了我在哪裏看過這篇文章,但找不到原文。下面是它使用的方法不同的鏈接:

http://www.iphonedevx.com/?p=657

+0

在那個例子中,他使用可達性類。 – Chris 2010-07-28 17:21:56

+1

問題出在Apple的Reachability類的舊版本 - 最新版本(v。2.n.n)已經大幅改寫。 – NickFitz 2010-09-28 20:06:25

0

可達需要花費一些時間來完成其任務。 所以要耐心等待。 使用通知獲取結果。

這是我做的:

 
BOOL hasInet; 
Reachability *connectionMonitor = [Reachability reachabilityForInternetConnection]; 
[[NSNotificationCenter defaultCenter] 
    addObserver: self 
    selector: @selector(inetAvailabilityChanged:) 
    name: kReachabilityChangedNotification 
    object: connectionMonitor]; 

hasInet = [connectionMonitor currentReachabilityStatus] != NotReachable; 

然後

 
-(void)inetAvailabilityChanged:(NSNotification *)notice { 
    Reachability *r = (Reachability *)[notice object]; 
    hasInet = [r currentReachabilityStatus] != NotReachable; 
} 

這很好地工作對我來說。