Blame view

HHDoctorSDK/AlicloudUtils.framework/Headers/AlicloudReachabilityManager.h 1.36 KB
shmily authored
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
//
//  AlicloudReachabilityManager.h
//
//  Created by 亿刀 on 14-1-9.
//  Edited by junmo on 15-5-16
//  Copyright (c) 2014年 Twitter. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>

#define ALICLOUD_NETWOEK_STATUS_NOTIFY @"AlicloudNetworkStatusChangeNotify"

typedef enum {
    AlicloudNotReachable = 0,
    AlicloudReachableViaWiFi,
    AlicloudReachableVia2G,
    AlicloudReachableVia3G,
    AlicloudReachableVia4G
} AlicloudNetworkStatus;

@interface AlicloudReachabilityManager : NSObject

/**
 *  获取Reachability单例对象
 */
+ (AlicloudReachabilityManager *)shareInstance;

/**
 *  获取Reachability单例对象,为保证全局维护一个netInfo实例,可从外部传入netInfo对象的引用
 *  warn: netInfo多次实例化,有一定几率crash
 *
 */
+ (AlicloudReachabilityManager *)shareInstanceWithNetInfo:(CTTelephonyNetworkInfo *)netInfo;

/**
 *	返回当前网络状态(同步调用,可能会阻塞调用线程)
 */
- (AlicloudNetworkStatus)currentNetworkStatus;

/**
 *	返回之前网络状态
 */
- (AlicloudNetworkStatus)preNetworkStatus;

/**
 *	检测网络是否连通(同步调用,阻塞调用线程)
 */
- (BOOL)checkInternetConnection;

/**
 *	检测Wifi网络是否联通
 */
- (BOOL)isReachableViaWifi;

/**
 *	检测蜂窝网络是否联通
 */
- (BOOL)isReachableViaWWAN;

@end