设置可访问性以监控连接并显示警报

时间:2013-03-11 18:58:30

标签: ios ios5 uialertview reachability

我想要实现的是监控任何互联网连接?因此手机需要有效连接到互联网。如果它确实显示UIAlertView并提供了再试一次(再次尝试连接以查看它是否已更改)。

我正在尝试使用Reachability并连接到api.parse.com链接。

在我的AppDelegate中,我调用了Reachability的设置:

// Use Reachability to monitor connectivity
[self monitorReachability];

monitorReachability设置如下:

- (void)monitorReachability {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:ReachabilityChangedNotification object:nil];

self.hostReach = [Reachability reachabilityWithHostName: @"api.parse.com"];
[self.hostReach startNotifier];

self.internetReach = [Reachability reachabilityForInternetConnection];
[self.internetReach startNotifier];

self.wifiReach = [Reachability reachabilityForLocalWiFi];
[self.wifiReach startNotifier];

}

我还有可更改性更改方法如下: 编辑 - 更新方法

- (void)reachabilityChanged:(NSNotification* )note {
Reachability *curReach = (Reachability *)[note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
NSLog(@"Reachability changed: %@", curReach);
networkStatus = [curReach currentReachabilityStatus];

if (networkStatus == NotReachable) {
    NSLog(@"NOT REACHABLE");
    return;
} else {
    NSLog(@"REACHABLE");
}

我想要了解的是回复。从上面看起来我有一个指向当前状态的指针,我不知道如何使用它。基本上我想要一个if语句来检查是否可以通过互联网连接访问该链接,如果不是我可以通过AlertView。然后,我可以为UIAlertView设置一个布尔值,即使用showsConnectionAlert,然后可以在更改和拾取连接时关闭它。我不确定在哪里放这个。

1 个答案:

答案 0 :(得分:0)

使用Reachability类的最简单方法之一是将Reachability.h导入rootViewController或任何需要连接的人,然后只需运行此代码......

 Reachability *reach = [Reachability reachabilityForInternetConnection];

 NetworkStatus netStatus = [reach currentReachabilityStatus];    
 if (netStatus == NotReachable) {        
 NSLog(@"No internet connection!");   
//Alert View in here      
} 
else {        
//Do something in here with the connecion e.g:

[self performSelector:@selector(startNSURLRequest) withObject:nil afterDelay:30.0];

}        

这应该简化一下这个过程..让我知道你是怎么过的。 Ť