Listener network connection for iOS development, change, and disconnect
During iOS development, we need to monitor/monitor network conditions. Apple provides Reachability. h and Reachability. m.
Import Reachability. h
You can write the following in the viewDidLoad method of MainViewController:
[self checkReachability];
Then, the specific method is as follows:
#pragma mark#pragma mark Reachability Methods#pragma mark- (void)checkReachability{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; self.reachability = [Reachability reachabilityForInternetConnection]; [self.reachability startNotifier]; [self updateInterfaceWithReachability:self.reachability];}/*! * Called by Reachability whenever status changes. */- (void) reachabilityChanged:(NSNotification *)note{ Reachability* curReach = [note object]; NSParameterAssert([curReach isKindOfClass:[Reachability class]]); [self updateInterfaceWithReachability:curReach];}- (void)updateInterfaceWithReachability:(Reachability *)reachability{ NetworkStatus status = [reachability currentReachabilityStatus]; AppDelegate *appDelegate = ((AppDelegate *) [[UIApplication sharedApplication] delegate]); if(status == NotReachable) { //No internet NSLog(@"No Internet"); appDelegate.isNetworkReachable = NO; [_reachabilityImage setImage:[UIImage imageNamed:@"stop-32.png"]]; } else if (status == ReachableViaWiFi) { //WiFi NSLog(@"Reachable WIFI"); appDelegate.isNetworkReachable = YES; [_reachabilityImage setImage:[UIImage imageNamed:@"Airport.png"]]; } else if (status == ReachableViaWWAN) { //3G NSLog(@"Reachable 3G"); appDelegate.isNetworkReachable = YES; [_reachabilityImage setImage:[UIImage imageNamed:@"WWAN5.png"]]; }}