appdelegate.m
#import "Reachability.h"
#import "ALinNetworkTool.h"
@interface AppDelegate (){
Reachability *_reacha;
NetworkStates _preStatus;}
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self checkNetworkStates];
NSLog(@"网络状态码:----->%ld", (unsigned long)[ALinNetworkTool getNetworkStates]);
// 实时监控网络状态
- (void)checkNetworkStates
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkChange) name:kReachabilityChangedNotification object:nil];
_reacha = [Reachability reachabilityWithHostName:@"http://www.baidu.com"];
[_reacha startNotifier];
}
- (void)networkChange
{
NSString *tips;
NetworkStates currentStates = [ALinNetworkTool getNetworkStates];
if (currentStates == _preStatus) {
return;
}
_preStatus = currentStates;
switch (currentStates) {
case NetworkStatesNone:
tips = @"当前无网络, 请检查您的网络状态";
break;
case NetworkStates2G:
tips = @"切换到了2G网络";
break;
case NetworkStates3G:
tips = @"切换到了3G网络";
break;
case NetworkStates4G:
tips = @"切换到了4G网络";
break;
case NetworkStatesWIFI:
tips = nil;
break;
default:
break;
}
if (tips.length) {
[[[UIAlertView alloc] initWithTitle:@"宅代送" message:tips delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil, nil] show];
}
}