zoukankan      html  css  js  c++  java
  • IOS 检测网络状态

    在网络应用中,需要对用户设备的网络状态进行实时监控,目的是
    让用户了解自己的网络状态,防止一些误会(比如怪应用无能)
    根据用户的网络状态进行智能处理,节省用户流量,提高用户体验
    WIFI3G网络:自动下载高清图片
    低速网络:只下载缩略图
    没有网络:只显示离线的缓存数据
    
    苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态
    https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip

    Reachability的使用步骤
    添加框架SystemConfiguration.framework
    
    
    添加源代码
    

     

    
    
    包含头文件
    #import "Reachability.h"

     

    常见用法
    // 是否WIFI
    + (BOOL) IsEnableWIFI {
        return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
    }
    
    // 是否3G
    + (BOOL) IsEnable3G {
        return ([[Reachability reachabilityForInternetConnectionen] currentReachabilityStatus] != NotReachable);
    }

    [[NSNotificationCenter defaultCenter] addObserver:self
     selector:@selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
    self.netReachability = [Reachability reachabilityForInternetConnection];
    [self.netReachability startNotifier];
    
    - (void)dealloc
    {
        [self.netReachability stopNotifier];
        [[NSNotificationCenter defaultCenter] removeObserver:self name:kReachabilityChangedNotification object:nil];
    }
  • 相关阅读:
    linux下ls出现文件的后缀有@,* ,/之类的解释
    对shell中cat 和EOF的理解
    linux中test的意义 又可以表示为[]
    Python程序中的进程操作-进程同步(multiprocess.Lock)
    Python程序中的进程操作-开启多进程
    进程的创建和结束
    同步异步阻塞非阻塞
    进程的并行和并发
    进程的调度
    进程基础
  • 原文地址:https://www.cnblogs.com/liuwj/p/6920570.html
Copyright © 2011-2022 走看看