使用AFN检测网络网络状态,使用的类AFHTTPSessionManager
1.初始化单例
_sharedClient = [[APIReachabilityManager alloc] initWithBaseURL:[NSURL URLWithString:AFAppDotNetAPIBaseURLString]];
_sharedClient.securityPolicy= [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
2.返回网络状态
[_sharedClient.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { }];
3.开始检测网络
[_sharedClient.reachabilityManager startMonitoring];
项目中使用的业务逻辑:
请求登录接口时,需要先调用接口获取服务器端的公钥私钥,所以这里lastStauts保留上一个网络状态,如果网络状态从没有网络变成wifi或者wan时,再次调用接口