• 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

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


         

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

  • 相关阅读:
    Android学习之多线程开发总结<二>
    Android学习之多线程开发总结<一>
    Android代码模版整理<一>
    Android学习之Bluetooth开发总结<续3>
    Android学习—自定义组件
    Android学习之解析XML
    Android学习—自定义对话框Dialog
    Android学习之Bluetooth开发总结<续2>
    Android学习之Bluetooth开发总结<续>
    .Net Core 发布项目时出现警告提示“不建议指定此包的版本”的解决办法
  • 原文地址:https://www.cnblogs.com/iosblogx/p/4474596.html
Copyright © 2020-2023  润新知