62 lines
1.4 KiB
Objective-C
62 lines
1.4 KiB
Objective-C
//
|
||
// 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
|