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