【发布时间】:2011-09-21 14:35:29
【问题描述】:
我创建了一个方法来检查主机是否可达。我已经从苹果开发者网站下载了可达性类(.h 和 .m)并导入到我的项目中。我已将 NSString 名称作为 URL(主机名)传递。主机名是http://www.google.com。但是,无论我将什么主机名传递给此方法,它总是返回 NO (connectToHost)。代码如下:
- (BOOL) checkHostAvailability:(NSString *)Name{
BOOL connectToHost;
hostReach = [[Reachability reachabilityWithHostName:Name] retain];
[hostReach startNotifier];
NetworkStatus hostStatus = [hostReach currentReachabilityStatus];
NSLog(@"Name: %@", Name);
NSLog(@"hostStatus is %@", hostStatus);
if(hostStatus == NotReachable){
NSLog(@"Here is the checkHostAvailability Method and host NOT reachable");
connectToHost = NO;
}else{
NSLog(@"Here is the checkHostAvailability Method and host is reachable");
connectToHost = YES;
}
return connectToHost;
}
经过几个小时的调查,我发现 NetworkStatus hostStatus 始终等于 null。我认为这就是为什么这种方法不起作用的原因。我花了 8 个小时找出这段代码的问题并搜索了这个网站,但我仍然找不到问题和解决方案。
请提供帮助,非常感谢。
【问题讨论】:
标签: ios host reachability