AFNetworkReachabilityManager檢查網絡狀態

避免AFNetworkReachabilityManager檢查網絡狀態AFNetworkReachabilityStatusUnknown

1、開啟監聽    [[AFNetworkReachabilityManager sharedManager] startMonitoring];

2、[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        switch (status) {

            case AFNetworkReachabilityStatusNotReachable:{

                NSLog(@"無網絡");

                break;

            }

            case AFNetworkReachabilityStatusReachableViaWiFi:{

                NSLog(@"WiFi網絡");

                break;

            }

            case AFNetworkReachabilityStatusReachableViaWWAN:{

                NSLog(@"無線網絡");

                break;

            }

            default:

                break;

        }

    }];

#define kNetworkNotReachability ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus <= 0)  //無網

如果啟動就去檢測 建議延時調用

 eg:[self performSelector:@selector(login:) withObject:nil afterDelay:0.35f];

由于檢測網絡有一定的延遲,所以如果啟動app立即去檢測調用[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus 有可能得到的是status == AFNetworkReachabilityStatusUnknown;但是此時明明是有網的,建議在收到監聽網絡狀態回調以后再取[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!