Iphone Sdk автоматически проверяет интернет-соединение в середине приложения? - PullRequest
0 голосов
/ 08 июня 2011

Я в настоящее время проверяю интернет-соединение, когда я запускаю приложение в первый раз, но если я закрываю приложение и включаю режим полета, а затем снова запускаю приложение, или оно должно проверить интернет-соединение, если я потеряю свой Wi-Fi и его должен сказать, что ваше интернет-соединение потеряно или что-то в этом роде. У кого-нибудь есть правильный ответ на это?

1 Ответ

1 голос
/ 08 июня 2011

Используйте API Reachability.Вот код из файла делегата приложения одного из моих проектов.

// ivars
Reachability* hostReach;
Reachability* internetReach;
Reachability* wifiReach;

- (void) reachabilityChanged: (NSNotification* )note {

    Reachability *curReach = (Reachability *)[note object];

    if ([curReach currentReachabilityStatus] == NotReachable) {

        UIAlertView *alert = [[[UIAlertView alloc] init] autorelease];
        alert.title = @"No network connection?";
        alert.message = @"No network connection.";
        alert.delegate = self;
        [alert addButtonWithTitle:@"OK"];
        [alert show];

    } 

}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];

    hostReach = [[Reachability reachabilityWithHostName: @"www.test.com"] retain];
    [hostReach startNotifier];

    internetReach = [[Reachability reachabilityForInternetConnection] retain];
    [internetReach startNotifier];

    wifiReach = [[Reachability reachabilityForLocalWiFi] retain];
    [wifiReach startNotifier];

    // controller setup
    viewController = [[CFSplashViewController alloc] init];

    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    return YES;
}

// and of course, remember to release all those resources..
...