我想要实现的是监控任何互联网连接?因此手机需要有效连接到互联网。如果它确实显示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,然后可以在更改和拾取连接时关闭它。我不确定在哪里放这个。
答案 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];
}
这应该简化一下这个过程..让我知道你是怎么过的。 Ť