В поисках ответа некоторые заметили проблему, но никто не решил ее.Я просто хочу, чтобы пользователь был уведомлен, если произошло изменение сетевого подключения (то есть потеря сети).Приведенный ниже код работает, но я получаю несколько предупреждений, обычно 3. Я понимаю причину, по которой это может произойти из-за точности внутренних вызовов, но у меня не может быть только одного отображения предупреждений, и это все.Я пытался использовать BOOL, чтобы определить, отображается ли уже предупреждение (alerthowing), но это все равно не помогает.Спасибо за ваши мысли.
- (void)applicationDidBecomeActive:(UIApplication *)application {
////NSLog(@"DidBecomeActive");
[self performSelector:@selector(getNetworkConnection) withObject:nil afterDelay:5.0];
}
-(void)getNetworkConnection
{
Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];
NetworkStatus internetStatus = [r currentReachabilityStatus];
if ((internetStatus != ReachableViaWiFi) && (internetStatus != ReachableViaWWAN))
{
if (!self.alertShowing) {
UIAlertView *myAlert = [[[UIAlertView alloc] initWithTitle:@"No Internet Connection" message:@"This app require an internet connection via WiFi or cellular network to work." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil] autorelease];
self.alertShowing = YES;
[myAlert show];
}
}
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
self.alertShowing = NO;
}