我的应用需要互联网连接,因此在ApplicationDelegate中,在applicationDidFinishLaunching
上运行以下内容:
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
hostReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];
[hostReach startNotifer];
[self updateInterfaceWithReachability: hostReach];
但由于某种原因,这似乎是两次发射,因为记录的内容如下:
2010-02-04 14:25:48.004 myApp[201:207] Reachability Flag Status: -- ------- networkStatusForFlags
2010-02-04 14:25:48.240 myApp[201:207] STATUS: Access Not Available
2010-02-04 14:25:48.499 myApp[201:207] Reachability Flag Status: -- ------- networkStatusForFlags
2010-02-04 14:25:48.517 myApp[201:207] STATUS: Access Not Available
哪个好,它正在工作,但我有一条警告信息通知用户没有连接,它会弹出两次......
为什么可达性通知器会触发两次?
答案 0 :(得分:0)
不知道为什么会弹出两次。您是否尝试过评论startNotifier
的来电?它可能会在reachabilityWithHostName:
方法中进行初步检查。
这可能是一种解决方法是最合适的修复方法,例如:
static bool userNotifiedOfReachability = NO;
...
- (void)updateInterfaceWithReachability:(Reachbility *)reachability {
if (!userNotifiedOfReachability) {
// Notify User
...
userNotifiedOfReachability = YES;
}
}
这适用于“请稍后再次尝试启动应用”消息。