NOCReachability
NOCReachability 是一个提供网络连接状态检查功能的库。
安装
你可以使用CocoaPods,一个支持Objective-C和Swift的项目依赖管理工具来安装它。
使用CocoaPods安装
要使用CocoaPods将NOCReachability依赖注入到你的Xcode项目中,在Podfile中添加NOCReachability。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'YourProjectName' do
pod 'NOCReachability', '~> 1.0'
end
如果你已经在使用Podfile,只需添加NOCReachability依赖。
pod 'NOCReachability', '~> 1.0'
如果NOCReachability依赖已经添加到Podfile中,执行以下命令。
$ pod install
用法
NOCReachability使用单例模式,你可以通过NOCReachability.sharedInstance
属性使用单例对象。
网络连接状态
连接状态 | NOC可达状态 | 说明 |
---|---|---|
-1 | NOC可达状态未知 | 网络连接状态未知。 |
0 | NOC可达状态不可达 | 网络不可连接。 |
1 | NOC可达状态可通过WWAN访问 | 使用移动网络(蜂窝移动网络)的网络连接状态。 |
2 | NOC可达状态可通过WiFi访问 | 使用WiFi的网络连接状态。 |
检查当前网络连接状态
您可以直接查看下面的代码。
NOCReachabilityStatus status = NOCReachability.sharedInstance.status;
如果您使用[NOCReachability.sharedInstance statusToString]
方法,您可以检查网络状态,而不仅仅是常量。
NSString *status = [NOCReachability.sharedInstance statusToString];
网络连接状态改变检测
如果设备网络状态发生变化,您可以将代码块设置为在网络变化时执行,并执行所需的操作。
NOCReachability *reachability = NOCReachability.sharedInstance;
[reachability setStatusChangeBlock:^(NOCReachabilityStatus status) {
// A code block that to be executed when the network state changes.
}];
[reachability startMonitoring];
如果您想停止检测上面代码启动的网络状态变化,可以使用以下代码停止。
[NOCReachability.sharedInstance stopMonitoring];
使用NSNotificationCenter监控网络变化
如果您使用[NOCReachability.sharedInstance startMonitoring]
方法开始监控网络变化,您也可以通过接收通知来执行所需的操作,而不仅仅是代码块。
如果网络发生变化,发送的通知名为NOCReachabilityDidChangeNotification
。
如果设备网络发生变化并发送了NOCReachabilityDidChangeNotification
通知,则变化后的网络状态将通过userInfo
对象传递给通知对象的NOCReachabilityNotificationStatus
值。
许可证
NOCReachability 依照MIT许可发布。有关详情,请参阅LICENSE。