如何檢查iOS或macOS上的活動Internet連接?我想查看我是否在iOS上使用Cocoa Touch庫或使用Cocoa庫在macOS 上建立了Internet連接。我想出了一個方法,使用一個NSURL。我這樣做的方式似乎有點不可靠(因為即使谷歌有一天會失敗并依賴第三方看起來很糟糕),雖然如果谷歌沒有回復(fù),我可以查看其他網(wǎng)站的回復(fù),但是在我的應(yīng)用程序中看起來似乎很浪費并且不必要的開銷- (BOOL) connectedToInternet{
NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
return ( URLString != NULL ) ? YES : NO;}我做得不好,(更不用說stringWithContentsOfURL在iOS 3.0和macOS 10.4中被棄用)如果是這樣,有什么更好的方法來實現(xiàn)這一目標(biāo)?
4 回答

繁華開滿天機
TA貢獻1816條經(jīng)驗 獲得超4個贊
我喜歡簡單易懂。我這樣做的方式是:
//Class.h#import "Reachability.h"#import <SystemConfiguration/SystemConfiguration.h>- (BOOL)connected;//Class.m- (BOOL)connected{ Reachability *reachability = [Reachability reachabilityForInternetConnection]; NetworkStatus networkStatus = [reachability currentReachabilityStatus]; return networkStatus != NotReachable;}
然后,每當(dāng)我想看看我是否有連接時,我都會使用它:
if (![self connected]) { // Not connected} else { // Connected. Do some Internet stuff}
此方法不會等待更改的網(wǎng)絡(luò)狀態(tài)以執(zhí)行操作。它只是在您要求時測試狀態(tài)。
- 4 回答
- 0 關(guān)注
- 705 瀏覽
添加回答
舉報
0/150
提交
取消