【发布时间】:2017-07-01 10:03:20
【问题描述】:
我正在使用这个库:https://github.com/tonymillion/Reachability
有时当我检查以下表达式时会出现问题:
[[[ReachabilityManager sharedManager] reachability] isReachable]; 在应该是 YES 时返回 NO。我知道有互联网,因为我同时调用了 Rest 服务。
另外,如果我执行 [Reachability reachabilityWithHostname:@"www.google.com"]; 并请求方法 isReachable,那么会按预期工作。
我的测试很简单,在模拟器上试一下,然后插拔网线。
@implementation ReachabilityManager
#pragma mark -
#pragma mark Default Manager
+ (ReachabilityManager *)sharedManager {
static ReachabilityManager *_sharedManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedManager = [[self alloc] init];
});
return _sharedManager;
}
#pragma mark -
#pragma mark Memory Management
- (void)dealloc {
// Stop Notifier
if (_reachability) {
[_reachability stopNotifier];
}
}
#pragma mark -
#pragma mark Class Methods
+ (BOOL)isReachable {
return [[[ReachabilityManager sharedManager] reachability] isReachable];
}
+ (BOOL)isUnreachable {
return ![[[ReachabilityManager sharedManager] reachability] isReachable];
}
+ (BOOL)isReachableViaWWAN {
return [[[ReachabilityManager sharedManager] reachability] isReachableViaWWAN];
}
+ (BOOL)isReachableViaWiFi {
return [[[ReachabilityManager sharedManager] reachability] isReachableViaWiFi];
}
#pragma mark -
#pragma mark Private Initialization
- (id)init {
self = [super init];
if (self) {
// Initialize Reachability
self.reachability = [Reachability reachabilityWithHostname:@"www.google.com"];
// Start Monitoring
[self.reachability startNotifier];
}
return self;
}
@end
【问题讨论】:
-
试试苹果的可达性类,你可以下载源代码听developer.apple.com/library/content/samplecode/Reachability/…
-
朋友,您只是在检查主机可达性对吗?
-
我想测试网络连接。
-
我已经添加了我的工作代码,将其添加到您的课程中并检查。
标签: ios reachability