iOS:可达性和 AFNetworking

Posted

技术标签:

【中文标题】iOS:可达性和 AFNetworking【英文标题】:iOS: reachability and AFNetworking 【发布时间】:2014-05-06 08:47:09 【问题描述】:

我的 AppDelegate 中有这段代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions




    [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) 

        if (status == AFNetworkReachabilityStatusNotReachable)
            NSLog(@"NO CONNECTION");
        
        else if (status == AFNetworkReachabilityStatusReachableViaWiFi || status == AFNetworkReachabilityStatusReachableViaWWAN)

            NSLog(@"YES CONNECTION");
        
    ];

[[AFNetworkReachabilityManager sharedManager] startMonitoring];

return YES;

但它不起作用,我没有我的日志,为什么?

【问题讨论】:

【参考方案1】:

只有在可达性实际发生变化时才会调用该块。

你可以像这样获取当前状态:

[[AFNetworkReachabilityManager sharedManager] reachable]

【讨论】:

在“didFinishLaunchingWithOptions”中它不起作用,它在“didBecomeActive”中的示例中起作用 好吧,如果它在didBecomeActive 中工作,为什么还要在didFinishLaunchingWithOptions 中使用它? 好的,但是如果它在 didBecomeActive 中工作正常,那么有什么方法可以访问其他类? 您可以创建一个类方法来查询可达性并创建一个委托来通知您需要更改可达性的每个类。 我应该打电话多少次?每次我进入我的视野?例如在“viewWillAppear”中?

以上是关于iOS:可达性和 AFNetworking的主要内容,如果未能解决你的问题,请参考以下文章

iOS 5.1 可达性

需要 https 或 *** (ios) 的可达性类和主机名

iOS voip 应用程序休眠和可达性已更改,我可以收到通知吗?

iOS 中的语音可达性

iOS5需要ARC的可达性版本

iOS8 的可达性问题