先看Reachability.h發現
#import <Foundation/Foundation.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import <netinet/in.h>
所以如果我們在項目中需要用到此類的話,需要引入SystemConfiguration.framework。
此類在ios網路開發中可以確認判斷網路環境,串連情況(無網路連接,3G,WIFI,GPRS)
enum { // DDG NetworkStatus Constant Names.
kNotReachable = 0,
// Apple's code depends upon 'NotReachable' being the same value as 'NO'.
kReachableViaWWAN, // Switched order from Apple's enum. WWAN is active before WiFi.
kReachableViaWiFi
};
定義三種網路類型:
一:kNotReachable 無網路連接
二:kReachableViaWWAN 使用GPRS或者3G網路連接
三:kReachableViaWiFi 使用WIFI串連
我在項目中用下面的語句判斷是否存在網路連接
BOOL reachable = [[Reachability
reachabilityForInternetConnection] isReachable];
if (!reachable) {
UIAlertView *alertView = [[[UIAlertView
alloc] initWithTitle:@"該功能需要串連網路才能使用,請檢查您的網路連接狀態" message:nil delegate:nil cancelButtonTitle:@"確定"
otherButtonTitles:nil]
autorelease];
[alertView show];
return;
}
當有網路請求的時候,類中方法可以返回目前的網路連接狀態
例如:Reachable *reachable = [Reachable reachabilityWithHostName:@"http://blog.csdn.net"];
之後我們應用
// These are the status tests.
- (NetworkStatus) currentReachabilityStatus; 返回網路連接狀態
switch( [reachable currentReachabilityStatus ] ) {
/* [reachable currentReachabilityStatus ]包含三個值
一:kNotReachable 無網路連接
二:kReachableViaWWAN 使用GPRS或者3G網路連接
三:kReachableViaWiFi 使用WIFI串連 */
}