Search code examples
iosios7reachability

Continuous check netconnection is available or not


I have implemented reach-ability in my project that check the connection is reachable or not at some specific time example when go for the any network connection task. But what i want is to check the network continuously if it is reachable the show the notification but how to implement it i do not know so please help


Solution

  • Use this Code to Check Network Connection available or not in Device Using Reachability

    @interface appDelegate : UIResponder <UIApplicationDelegate>
    {
        Reachability *internetReachable;
    }
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
     ........
    
     internetReachable = [Reachability reachabilityForInternetConnection];
        [internetReachable startNotifier];
     [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(checkNetworkStatus:)
                                                     name:kReachabilityChangedNotification object:nil];
    ............
    
    }
    
    - (void)checkNetworkStatus:(NSNotification *)notice {
        // called after network status changes
    
        NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
        switch (internetStatus)
        {
            case NotReachable:
            {
                NSLog(@"The internet is down.");
                break;
            }
            case ReachableViaWiFi:
            {
                 NSLog(@"The internet is Connected.");
                break;
            }
            case ReachableViaWWAN:
            {
                NSLog(@"The internet is working via WWAN!");
                break;
            }
        }
    }
    
    //#import "Reachability.m"
    
    static void ReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info)
    {
    #pragma unused (target, flags)
        NSCAssert(info != NULL, @"info was NULL in ReachabilityCallback");
        NSCAssert([(__bridge NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback");
    
        Reachability* noteObject = (__bridge Reachability *)info;
        // Post a notification to notify the client that the network reachability changed.
        [[NSNotificationCenter defaultCenter] postNotificationName: kReachabilityChangedNotification object: noteObject];
    }
    
    it's Solve your problem.