#pragma mark Network condition monitoring
-(void) checknetworkstatus{
Create a URL for testing
Nsurl *url=[nsurl urlwithstring:@ "http://www.baidu.com"];
Afhttprequestoperationmanager *operationmanager=[[afhttprequestoperationmanager Alloc]initWithBaseURL:url];
According to different network status changes to do the corresponding processing
[Operationmanager.reachabilitymanager setreachabilitystatuschangeblock:^ (afnetworkreachabilitystatus status) {
Switch (status) {
Case Afnetworkreachabilitystatusreachableviawwan:
[Self alert:@ "2g/3g/4g Connection."];
Break
Case Afnetworkreachabilitystatusreachableviawifi:
[Self alert:@ "WiFi Connection."];
Break
Case Afnetworkreachabilitystatusnotreachable:
[Self alert:@ "Network not found."];
Break
Default
[Self alert:@ "Unknown."];
Break
}
}];
Start monitoring
[Operationmanager.reachabilitymanager startmonitoring];
}
-(void) checknetworkstatus{
Create a URL for testing
Nsurl *url=[nsurl urlwithstring:@ "http://www.apple.com"];
Afhttpsessionmanager * Operationmanager=[[afhttpsessionmanager Alloc]initwithbaseurl:url];
According to different network status changes to do the corresponding processing
[Operationmanager.reachabilitymanager setreachabilitystatuschangeblock:^ (afnetworkreachabilitystatus status) {
Switch (status) {
Case Afnetworkreachabilitystatusreachableviawwan:
[Self alert:@ "2g/3g/4g Connection."];
[Svprogresshud showsuccesswithstatus:@ "2g/3g/4g Connection."];
Dnlog (@ "2g/3g/4g Connection.");
Break
Case Afnetworkreachabilitystatusreachableviawifi:
[Svprogresshud showsuccesswithstatus:@ "WiFi Connection."];
Dnlog (@ "WiFi Connection.");
Break
Case Afnetworkreachabilitystatusnotreachable:
[Svprogresshud showerrorwithstatus:@ "Network not found."];
Dnlog (@ "Network not found.");
Break
Default
[Svprogresshud showerrorwithstatus:@ "Unknown."];
Dnlog (@ "Unknown.");
Break
}
}];
Start monitoring
[Operationmanager.reachabilitymanager startmonitoring];
}
/**************** detects network status and returns no network-like too ****************/
To import header files
+ (BOOL) Networkstatefalse {
reachability* reach = [reachability reachabilitywithhostname:@ "www.baidu.com"];
[Reach Startnotifier];
return ([[reachability reachabilityforinternetconnection] currentreachabilitystatus] = = notreachable);
}
About network status monitoring real-time, creating a single Network Monitor (not real-time)