开发中时常需要判断当前的网络类型,根据不同的类型来做不同的操作。我们可以把这些时常用得到方法写到一个工具类里面。
首先导入reachability,再定义一个结构体:
typedef enum {
NetWorkType_None = 0,//无网络
NetWorkType_WIFI,//wifi
NetWorkType_2_3G,//2G或者3G网络
} NetWorkType;
判断网络类型的方法:
+(NetWorkType) networkType {
Reachability *reachability = [Reachability reachabilityForInternetConnection];
if (NO == [reachability isReachable]) {
return NetWorkType_None;
}
if ([reachability isReachableViaWiFi]) {
return NetWorkType_WIFI;
}
if ([reachability isReachableViaWWAN]) {
return NetWorkType_2_3G;
}
return NetWorkType_2_3G;
}