如果项目没有用到第三方的话,那么iOS原生获取网络状态如下
先包含系统头文件#import <SystemConfiguration/SCNetworkReachability.h>
typedef CF_OPTIONS(uint32_t, SCNetworkReachabilityFlags) {
kSCNetworkReachabilityFlagsTransientConnection = 1<<0,
kSCNetworkReachabilityFlagsReachable = 1<<1,
kSCNetworkReachabilityFlagsConnectionRequired = 1<<2,
kSCNetworkReachabilityFlagsConnectionOnTraffic = 1<<3,
kSCNetworkReachabilityFlagsInterventionRequired = 1<<4,
kSCNetworkReachabilityFlagsConnectionOnDemand
API_AVAILABLE(macos(6.0),ios(3.0)) = 1<<5,
kSCNetworkReachabilityFlagsIsLocalAddress = 1<<16,
kSCNetworkReachabilityFlagsIsDirect = 1<<17,
kSCNetworkReachabilityFlagsIsWWAN
API_UNAVAILABLE(macos) API_AVAILABLE(ios(2.0)) = 1<<18,
kSCNetworkReachabilityFlagsConnectionAutomatic = kSCNetworkReachabilityFlagsConnectionOnTraffic
};
代码如下:
void checkNetworkState() {
SCNetworkReachabilityFlags flags;
SCNetworkReachabilityRef netReachability = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, "ob");
SCNetworkReachabilityScheduleWithRunLoop(netReachability, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
if (SCNetworkReachabilityGetFlags(netReachability, &flags)) {
NSLog(@"---%u",flags);
}
CFRelease(netReachability);
}
打印---2
,WiFi