zoukankan      html  css  js  c++  java
  • iOS开发网络篇—网络检查

      • 最近做一个项目要频繁的进行网络操作,但有时需要判定网络状态和当前网络的类型。看到好多前辈都是使用
        reachability来实现的。我也试了试效果还不错,封装成了工具类方便大家使用。

        使用说明:

            1.添加framework:

            将SystemConfiguration.framework添加进工程。

            2.下载https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip

            复制里面的Reachability.h和Reachability.m到项目中

            3.添加CloNetworkUtil.h和CloNetworkUitl.m到你的项目中

             在使用的地方导入CloNetworkUtil.h头文件即可

        CloNetworkUtil.h代码:

        01.//
        02.//  CloNetworkUtil.h
        03.//  NetWorkTest
        04.//
        05.//  Created by Cloay on 12-6-19.
        06.//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
        07./**
        08.1.添加framework:
        09.将SystemConfiguration.framework 添加进工程。
        11.复制里面的Reachability.h和Reachability.m到项目中
        12.*/
        13. 
        14.#import <Foundation/Foundation.h>
        15.#import "Reachability.h"
        16.@interface CloNetworkUtil : NSObject{
        17.}
        18. 
        19. 
        20.- (Reachability *)initReachability;
        21.- (BOOL)getNetWorkStatus;
        22.- (NSString *)getNetWorkType;
        23.@end

        实现如下:
        01.//
        02.//  CloNetworkUtil.m
        03.//  NetWorkTest
        04.//
        05.//  Created by Cloay on 12-6-19.
        06.//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
        07.//
        08. 
        09.#import "CloNetworkUtil.h"
        10. 
        11.@implementation CloNetworkUtil
        12. 
        13.//初始化reachability
        14.- (Reachability *)initReachability{
        15.Reachability *reachability = [Reachability reachabilityWithHostName:@"www.baidu.com"];
        16.return reachability;
        17.}
        18. 
        19.//判断网络是否可用
        20.- (BOOL)getNetWorkStatus{
        21.if ([[self initReachability] currentReachabilityStatus] == NotReachable) {
        22.return NO;
        23.}else {
        24.return YES;
        25.}
        26.}
        27. 
        28./**
        29.获取网络类型
        30.return
        31.*/
        32.- (NSString *)getNetWorkType
        33.{
        34.NSString *netWorkType;
        35.Reachability *reachability = [self initReachability];
        36.switch ([reachability currentReachabilityStatus]) {
        37.case ReachableViaWiFi:   //Wifi网络
        38.netWorkType = @"wifi";
        39.break;
        40.case ReachableViaWWAN:  //无线广域网
        41.netWorkType = @"wwan";
        42.break;
        43.default:
        44.netWorkType = @"no";
        45.break;
        46.}
        47.return netWorkType;
        48.}
        49. 
        50.@end

        很简单就不在说明了!效果图:


         

        有问题请留言,大家一起交流学习!

  • 相关阅读:
    JS基础三
    淘宝 NPM 镜像使用
    zepto的tap事件的点透问题的几种解决方案
    Web 通信 之 长连接、长轮询(long polling)(转载)
    命令模式坚决svn树冲突(local unversioned, incoming add upon update)
    svn st 状态详解
    Atom与markdown
    chrome调试创建sq设备进行调试
    webpack 使用教程--实时刷新测试
    前端资源
  • 原文地址:https://www.cnblogs.com/iosblogx/p/4474596.html
Copyright © 2011-2022 走看看