iOS测试网络是否连接

先导入一个头文件

1
2
//OC
#import <SystemConfiguration/SystemConfiguration.h>

然后通过调用这个函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//OC
/**
* 检测是否能上网
*
* @return YES说明网络已经连接;NO说明没有网络连接
*/
- (BOOL) isConnectionAvailable
{
SCNetworkReachabilityFlags flags;
BOOL receivedFlags;

SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(CFAllocatorGetDefault(), [@"www.baidu.com" UTF8String]);
receivedFlags = SCNetworkReachabilityGetFlags(reachability, &flags);
CFRelease(reachability);

if (!receivedFlags || (flags == 0) )
{
return FALSE;
} else {
return TRUE;
}
}

检测函数返回值就知道了。返回true说明有网络连接,返回false说明没有网络连接。

网上找的方法,感觉就是试着访问下百度,连得上就说明网络是可以用的,连不上说明不可以………………仔细想想这个方法好像我很小的时候就会了:打开浏览器,输入百度网址,看得到就说明可以上网,然后关掉百度打开谷歌,嚯嚯嚯我那个时候真是个天才~~