You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

61 lines
1.4 KiB

//
// 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