在iOS的开发过程中,应用程序有时需要判断设备当前的网络状态,并由此来控制某些消耗网络流量较多的功能(如无图模式、仅WiFi下播放视频等)。借助Reachability可以用来监测网络环境。Reachability是一个在iOS系统环境下检测iOS设备当前的网络环境的库。它的主要功能是监测三种网络环境:2G/3G/4G、WiFi网络、无网络。在应用的运行状态下,实时监测网络连接方式的变更,及时给出通知。

Reachability这个类在官方SDK中并没有添加,但是在苹果开发者中心我们可以下载到其示例代码,可以从示例代码中,把Reachability.h/.m添加到我们的工程中。

从苹果开发者中心下载的Reachability示例代码中,将Reachability.h/.m文件添加到工程当中,在使用的类中引入头文件即可。

在Reachability类中提供了一个名称为kReachabilityChangedNotification类型的通知,我们需要首先在通知中心注册该通知。然后调用startNotifier方法,启动监测。

实现networkStateChange:方法,在通知携带的对象中,可以获取当前网络环境信息。