ios检查网络连接

ios检查是否网格连接正常代码如下:

#import <Foundation/Foundation.h>
//检查网络
@interface NetWorkIsOK : NSObject {
}

//网络是否OK
+ (BOOL) checkNetWorkIsOk;

@end
 
#import "NetWorkIsOK.h"
#import <SystemConfiguration/SystemConfiguration.h>
#import <netdb.h>

@implementation NetWorkIsOK

+ (BOOL) checkNetWorkIsOk{
    struct sockaddr_in zeroAddress; 
    bzero(&zeroAddress, sizeof(zeroAddress)); 
    zeroAddress.sin_len = sizeof(zeroAddress); 
    zeroAddress.sin_family = AF_INET; 
  
    SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress); 
    SCNetworkReachabilityFlags flags; 
   
    BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags); 
    CFRelease(defaultRouteReachability); 
   
    if (!didRetrieveFlags) { 
        return NO; 
    } 
   
    BOOL isReachable = flags & kSCNetworkFlagsReachable; 
    BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired; 
    // = flags & kSCNetworkReachabilityFlagsIsWWAN; 
    BOOL nonWifi = flags & kSCNetworkReachabilityFlagsTransientConnection; 
    BOOL moveNet = flags & kSCNetworkReachabilityFlagsIsWWAN; 
   
    return ((isReachable && !needsConnection) || nonWifi || moveNet) ? YES : NO;
}

@end
 

猜你喜欢

转载自wenxin2009.iteye.com/blog/1672942