美文网首页
检测网络状态

检测网络状态

作者: pingui | 来源:发表于2016-01-03 15:39 被阅读76次

只要网络状态发生了变化,在任何一个视图控制器都会给出相应的提示

说明: 这里需要导入第三方库,1. MBProgressHUD 2. AFNetworking
导入头文件 MBProgressHUD.h, AFNetworking.h

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 应用程序加载完成

    UIWindow *window = ((AppDelegate *) [UIApplication sharedApplication].delegate).window;
    
    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        // 使用MBProgressHUD三方库创建弹框,给出相应的提示
        MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:window animated:YES];
        hud.mode = MBProgressHUDModeText;
        switch (status) {
            case AFNetworkReachabilityStatusNotReachable:
                // 弹框提示的内容
                hud.labelText = @"世界上最遥远的距离就是没网";
                break;
            case AFNetworkReachabilityStatusReachableViaWWAN:
                hud.labelText = @"2G/3G/4G";
                break;
            case AFNetworkReachabilityStatusReachableViaWiFi:
                hud.labelText = @"WiFi在线";
            default:
                break;
        }
        dispatch_async(dispatch_get_global_queue(0, 0), ^{
            // 显示时间2s
            sleep(2);
            dispatch_async(dispatch_get_main_queue(), ^{
                // 让弹框消失
                [MBProgressHUD hideHUDForView:window animated:YES];
            });
        });
    }];
    [manager startMonitoring];
    
    return YES;
}

相关文章

网友评论

      本文标题:检测网络状态

      本文链接:https://www.haomeiwen.com/subject/olcohttx.html