Need some help with Reachability (2.0.3ddg)

我只是一个虾纸丫 提交于 2019-12-03 21:23:34

OK, so after trying a few things out myself, I actually got it to work, by adding one extra line of code:

-(void)setupReachability {
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotificationV2 object:nil];
    hostReach = [[ReachabilityV2 reachabilityWithHostName:@"www.google.com"] retain];
    [hostReach connectionRequired]; // this line was added, and apparently forces a connection requirement..
    [hostReach startNotifier];
}
Massimo Cafaro

The Reachability sample code provides you with asynchronous callbacks/notifications to inform you of how/when the reachability has changed. In order for your code to work, you should modify your code as follows:

- (void) applicationDidFinishLaunching:(UIApplication *)application {

 // setup reachability
    [self setupReachability];
 }

Then in your callback, when you get the notification you react as needed by your application.

In other words, you can not check immediately for the network status in applicationDidFinishLaunching(). If you want to do so, then you must use a synchronous/blocking method, for instance you can use the code provided in my answer to this question.

You have to make hostReach as class level variable.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!