无法调用可达性通知。使用tonymillion / Reachability

时间:2013-08-05 17:44:14

标签: ios cocoa-touch reachability

我正在使用此库在设备上的连接状态发生变化时收到通知。我不明白为什么这不起作用!我正在做我正在github文档中阅读的内容!

当应用程序启动时,通知会被发布,但是当我打开设置时,打开/关闭飞行模式并返回应用程序(不关闭它),通知不会被调用。

我还订阅了获取UIApplicationWillEnterForegroundNotification通知......这两种方法都在应用程序中存在...我错过了什么?!

这是在我的viewDidLoad:

self.reach = [Reachability reachabilityWithHostname:kServerURL];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(reachabilityChangedInApp:)
                                             name:kReachabilityChangedNotification
                                           object:nil];
[self.reach startNotifier];

[[NSNotificationCenter defaultCenter] addObserver:self
                                        selector:@selector(initializeDateRelatedStuff:)
                                            name:UIApplicationWillEnterForegroundNotification
                                          object:nil];

这是我的dealloc

- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

谢谢!

1 个答案:

答案 0 :(得分:2)

问题是您的应用程序很可能不是后台应用程序,因此一旦按下主页按钮激活飞行模式就会暂停。由于您的应用在可访问性更改时未运行,因此不会收到任何通知。但是,当您的应用处于前台时,网络可访问性会发生变化,您将收到通知。

因此,您可能希望在应用程序进入前台时检查可访问性以及已实施的内容。